在通过docker deploy_image之后,我发现:
等待创建变更集。
创建变更集失败:服务员ChangeSetCreateComplete失败:服务员遇到终端失败状态:失败。
我的模板怎么了?
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: 'testimg
Sample SAM Template for testimg
'
Globals:
Function:
Timeout: 60
Api:
BinaryMediaTypes:
- image/png
Resources:
HelloWorldFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri:
Handler: app.lambda_handler
Runtime: python3.6
Events:
HelloWorld:
Type: Api
Properties:
Path: /hello
Method: post
Outputs:
HelloWorldApi:
Description: API Gateway endpoint URL for Prod stage for Hello World function
Value:
Fn::Sub: https://${ServerlessRestApi}.execute-api.${AWS::Region}.amazonaws.com/Prod/hello/
HelloWorldFunction:
Description: Hello World Lambda Function ARN
Value:
Fn::GetAtt:
- HelloWorldFunction
- Arn
HelloWorldFunctionIamRole:
Description: Implicit IAM Role created for Hello World function
Value:
Fn::GetAtt:
- HelloWorldFunctionRole
- Arn
我希望它将在cloudformation中创建一个堆栈。
答案 0 :(得分:0)
您的模板中存在两个问题:
Api
,SAM / CloudFormation无法识别。参见文档here。看起来您的缩进错误,而您的globals部分应该是:Globals:
Function:
Timeout: 60
Api:
BinaryMediaTypes:
- image/png
CodeUri
字段为空。那应该是您的Python代码的本地路径,例如CodeUri: hello_world/
。如果您解决了这些问题,则应进行部署。