1

通过docker deploy_image后,我发现:

等待创建变更集..

未能创建变更集:Waiter ChangeSetCreateComplete 失败:Waiter 遇到终端故障状态状态:FAILED。

我的模板有什么问题:

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 中创建一个堆栈。

4

1 回答 1

0

您的模板中有两个问题:

  1. 模板的顶层具有ApiSAM/CloudFormation 无法识别的键。请参阅此处的文档。看起来你的缩进错误,而你的 globals 部分应该是:
Globals:
  Function:
    Timeout: 60
  Api:
    BinaryMediaTypes:
    - image/png
  1. 您的CodeUri字段为空。那应该是 Python 代码的本地路径,例如CodeUri: hello_world/.

如果你解决了这些问题,它应该部署。

于 2019-05-08T00:09:02.927 回答