Amazon web services AWS Api网关与Lambda集成仅通过控制台工作

Amazon web services AWS Api网关与Lambda集成仅通过控制台工作,amazon-web-services,aws-lambda,aws-api-gateway,amazon-cloudformation,Amazon Web Services,Aws Lambda,Aws Api Gateway,Amazon Cloudformation,我有一个CloudFormation模板,它设置了一个带有Lambda集成的API网关。当通过AWS控制台测试集成时,它可以工作 当我试图通过Postman或Chrome使用HTTP方法时,响应为null 可在此处查看完整模板: 我觉得这里有些不对劲: MusicdownsGet: Type: AWS::ApiGateway::Method Properties: RestApiId: !Ref ApiGateway ResourceId: !Ref Musicdown

我有一个CloudFormation模板,它设置了一个带有Lambda集成的API网关。当通过AWS控制台测试集成时,它可以工作

当我试图通过Postman或Chrome使用HTTP方法时,响应为null

可在此处查看完整模板:

我觉得这里有些不对劲:

MusicdownsGet:
  Type: AWS::ApiGateway::Method
  Properties:
    RestApiId: !Ref ApiGateway
    ResourceId: !Ref MusicdownResource
    HttpMethod: GET
    RequestParameters:
      method.request.querystring.filter: true
    AuthorizationType: NONE
    RequestModels:
      application/json: !Ref MusicdownModel
    Integration:
      Type: AWS
      IntegrationHttpMethod: POST
      Uri: !Sub arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${Lambda.Arn}/invocations
      IntegrationResponses:
        - StatusCode: 200
      RequestTemplates:
        application/json: "{ \"filter\": \"$input.params('filter')\" }"
    MethodResponses:
      - StatusCode: 200

您的Lambda函数在权限中是否正确(第270行)。如果不是,为什么不尝试将其更改为:FunctionName:!GetAtt Lambda.arn您的CloudFormation模板工作正常,我刚刚实例化了一个完整的堆栈并运行了一个示例查询。所以这个问题一定是单独修改的。@jenswalter,这很有趣。我将再次尝试删除和创建。我很小心地在模板中重复控制台更改。如果启用CloudWatch日志,API GW将提供详细的CloudWatch日志。这将使我们更好地了解根本原因,而不仅仅是说“响应为空”。