You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AWS CLI创建Step Function时遇InvalidDefinition错误求助

问题原因及解决方法

问题根源

AWS CLI的--definition参数要求传入完整的JSON字符串内容,但你直接传入了本地文件路径.\\CriarContaFaturamento-PrimeiraEtapa.asl.json。CLI会把这个路径字符串当作JSON来解析,而路径里的.属于非法JSON字符,因此触发InvalidDefinition错误。

解决方法

以下是两种可靠的解决方式,适配PowerShell和CMD环境:

方式1:CLI内置文件读取语法(通用)

AWS CLI支持用@前缀加文件路径的写法,自动读取文件内的JSON内容作为参数值,无需额外终端命令:

aws stepfunctions create-state-machine --name 'firstStep' --definition @.\CriarContaFaturamento-PrimeiraEtapa.asl.json --role-arn arn:aws:iam::xxxxxxxxxxxxx:role/aws-stepfunctions-xxxxxxx-dev-default --profile xxx --region us-east-1

方式2:终端原生命令读取文件内容

PowerShell环境

用Get-Content读取文件并通过-Raw参数保证输出为完整单行字符串:

aws stepfunctions create-state-machine --name 'firstStep' --definition (Get-Content .\CriarContaFaturamento-PrimeiraEtapa.asl.json -Raw) --role-arn arn:aws:iam::xxxxxxxxxxxxx:role/aws-stepfunctions-xxxxxxx-dev-default --profile xxx --region us-east-1

CMD环境

直接使用@前缀语法(与方式1一致)即可,无需额外调整。

额外检查步骤

在执行创建命令前,建议先验证JSON文件的格式合法性:

  • 安装jq工具后,执行以下命令检查:
jq . .\CriarContaFaturamento-PrimeiraEtapa.asl.json

如果JSON格式存在语法错误,jq会直接定位错误位置,修正后再重新执行创建命令。

内容的提问来源于stack exchange,提问作者Luis Felipe Gongora Garcia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 16:55:02