CloudFormation 中的 AWS API Gateway 方法响应

Posted

技术标签:

【中文标题】CloudFormation 中的 AWS API Gateway 方法响应【英文标题】:AWS API Gateway Method Response in CloudFormation 【发布时间】:2018-09-28 06:31:15 【问题描述】:

我正在尝试设置我的 API 网关,使其具有以下简单的方法响应:

我正在使用 CloudFormation,但一直遇到错误。我相信这很简单,但是在花了几个小时阅读文档后我被困住了。这是我的方法资源(在 YAML 中):

MyMethod:
Type: "AWS::ApiGateway::Method"
Properties:
  AuthorizationType: "NONE"
  HttpMethod: "GET"
  Integration:
    Type: AWS
    Credentials: !GetAtt MyRole.Arn
    IntegrationHttpMethod: "POST"
    Uri:
      Fn::Join: [ "", [ "arn:aws:apigateway:", Ref: "AWS::Region", ":states:action/SendTaskSuccess" ] ]
    PassthroughBehavior: WHEN_NO_TEMPLATES
    RequestTemplates:
      application/json: |
        
           "output": "\"Approve link was clicked.\"",
           "taskToken": "$input.params('taskToken')"
        
    IntegrationResponses:
      - StatusCode: 200
        ResponseTemplates: "application/json": "$input.json('$.body')"
   RequestParameters:
    method.request.querystring.taskToken: false
  OperationName: succeed
  ResourceId: !Ref MyResource
  RestApiId: !Ref MyApi

我需要 MethodResponse 属性吗?

【问题讨论】:

【参考方案1】:

好吧,看来我只需要添加这个:

MethodResponses:
    - StatusCode: 200
      ResponseModels:  "application/json": "Empty" 

【讨论】:

知道我们如何映射响应而不是“空” @Jana 我认为您可以添加引用模型资源的键值对。在继续之前我没有让它完美地工作,但它似乎就是这样完成的。这是文档:docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/…【参考方案2】:

是的,没错。您需要添加以下内容:

方法响应:

状态码:200

响应模型:

  application/json: 'Empty'

【讨论】:

以上是关于CloudFormation 中的 AWS API Gateway 方法响应的主要内容,如果未能解决你的问题,请参考以下文章

将特定 AWS API Gateway 阶段连接到 CloudFormation 模板中的特定 Lambda 别名

如何使用 CloudFormation 模板更新现有 AWS API Gateway

AWS CloudFormation 可以调用 AWS API 吗?

AWS:使用 cloudformation 模板将 WAF 附加到 api 网关

如何使用 AWS CloudFormation 在 AWS API Gateway 上应用安全策略?

AWS cloudformation 域名和 API 映射