AWS SAM:调用CreateChangeSet操作时发生错误(ValidationError):参数:[IdentityNameParameter]必须具有值。

9
我想开始学习AWS SAM,但在尝试部署到AWS时遇到了问题。
我正在尝试部署一个“Hello World!”应用程序,可以在此处找到:此处
这是我遇到的错误: $ sam package --s3-bucket dolphin-code --s3-prefix prod --output-template-file packaged.yaml --region eu-central-1
上传至prod/de65208b144ad296cfdc39666a47ad1c 34671 / 34671.0 (100.00%) 成功打包工件并将输出模板写入文件packaged.yaml。 执行以下命令以部署打包的模板 sam deploy --template-file /builds/gitlab/dophin/apis/hello-world/packaged.yaml --stack-name $ sam deploy --template-file ./packaged.yaml --stack-name prod --capabilities CAPABILITY_IAM --region eu-central-1
使用以下值部署 =============================== 堆栈名称:prod 区域:eu-central-1 确认更改集:False 部署s3存储桶:None 功能:["CAPABILITY_IAM"] 参数覆盖:{}
启动部署 ===================== 错误:无法为堆栈创建更改集:prod,调用CreateChangeSet操作时发生错误(ValidationError):参数:[IdentityNameParameter]必须具有值 ERROR: Job failed: exit code 1
对我来说,这似乎是AWS CLI而不是SAM本身的错误,对吗?
有人能帮我吗?提前感谢!
1个回答

16

看起来您正在您的SAM模板中使用名为"IdentityNameParameter"的参数,但它没有默认值,因此SAM希望您为其提供一个值。

要么在调用sam deploy时使用--parameters-overrides标志设置该值。

$ sam deploy --template-file ./packaged.yaml --stack-name prod --capabilities CAPABILITY_IAM --region eu-central-1 --parameter-overrides IdentityNameParameter=xyz
或者在SAM模板中为其设置默认值
Parameters: 
    IdentityNameParameter: 
      Type: String
      Default:"xyz"

你可以在这里阅读有关sam deploy命令的更多信息https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/sam-cli-command-reference-sam-deploy.html


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接