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

问题描述 投票:0回答:1

我想开始使用AWS SAM,尝试部署到AWS时遇到此问题。

我正在尝试部署一个可以在here中找到的'Hello World!'应用程序。

这是我遇到的错误:

$ sam软件包--s3-bucket海豚代码--s3-前缀prod-输出模板文件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

Deploying with following values =============================== Stack name : prod Region : eu-central-1 Confirm changeset : False Deployment s3 bucket : None Capabilities : ["CAPABILITY_IAM"] Parameter overrides : {} Initiating deployment ===================== Error: Failed to create changeset for the stack: prod, An error occurred (ValidationError) when calling the CreateChangeSet operation: Parameters: [IdentityNameParameter] must have values ERROR: Job failed: exit code 1

对我来说,这似乎是AWS CLI中的错误,而不是直接在SAM中的错误,对吧?

有人可以帮我吗?预先感谢!

amazon-web-services aws-lambda command-line-interface sam
1个回答
0
投票

似乎您在sam模板中使用了一个名为“ IdentityNameParameter”的参数,它没有默认值,因此Sam希望您为其提供一个值。

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

$ 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"

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

© www.soinside.com 2019 - 2024. All rights reserved.