我想开始使用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中的错误,对吧?
有人可以帮我吗?预先感谢!
似乎您在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命令的更多信息>