Amazon web services AWS Api网关与Lambda集成仅通过控制台工作
我有一个CloudFormation模板,它设置了一个带有Lambda集成的API网关。当通过AWS控制台测试集成时,它可以工作 当我试图通过Postman或Chrome使用HTTP方法时,响应为null 可在此处查看完整模板: 我觉得这里有些不对劲: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
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日志。这将使我们更好地了解根本原因,而不仅仅是说“响应为空”。