Amazon web services AWS API网关don';t在转换中填充方法请求
我们使用的是AWS API Gateway,它为HTTP端点提供了POST方法,我们可以在该图像上调用该方法: 此网关使用Lambda代理集成调用AWS Lambda函数。问题是,当我们从外部REST客户机调用网关时,传递给函数处理程序的输入对象带有未填充的字段。如果尝试在测试模式下(从AWS网关控制台页面)使用相同的头和主体调用网关,我们会看到Lambda处理程序正确填充了请求对象。下面的日志中有一些详细信息 在测试模式调用中转换前方法请求的日志记录:Amazon web services AWS API网关don';t在转换中填充方法请求,amazon-web-services,aws-lambda,aws-api-gateway,serverless-framework,Amazon Web Services,Aws Lambda,Aws Api Gateway,Serverless Framework,我们使用的是AWS API Gateway,它为HTTP端点提供了POST方法,我们可以在该图像上调用该方法: 此网关使用Lambda代理集成调用AWS Lambda函数。问题是,当我们从外部REST客户机调用网关时,传递给函数处理程序的输入对象带有未填充的字段。如果尝试在测试模式下(从AWS网关控制台页面)使用相同的头和主体调用网关,我们会看到Lambda处理程序正确填充了请求对象。下面的日志中有一些详细信息 在测试模式调用中转换前方法请求的日志记录: Execution log for r
Execution log for request test-request
Wed Aug 30 16:05:02 UTC 2017 : Starting execution for request: test-invoke-request
Wed Aug 30 16:05:02 UTC 2017 : HTTP Method: POST, Resource Path: /member/alert/tmv/style
Wed Aug 30 16:05:02 UTC 2017 : Method request path: {}
Wed Aug 30 16:05:02 UTC 2017 : Method request query string: {}
Wed Aug 30 16:05:02 UTC 2017 : Method request headers: {authorization=************************************g8_A5Q}
Wed Aug 30 16:05:02 UTC 2017 : Method request body before transformations: { "styleId": "401630051" }
转换后在测试模式调用中与方法请求主体相关的日志记录:
Wed Aug 30 16:05:02 UTC 2017 : Endpoint request body after transformations: {"resource":"/member/alert/tmv/style","path":"/member/alert/tmv/style","httpMethod":"POST","headers":{"authorization":"************************************g8_A5Q [TRUNCATED]
正如您在转换后看到的,请求主体包含填充的字段,如资源、路径、头等。这是正确的行为。但当我不是从AWS控制台而是从HTTP客户端调用API网关时,我在日志中看到请求字段为空。知道为什么会发生这种情况吗?您使用的是请求映射模板吗?@dashmug,不,我们不使用映射模板您使用的是请求映射模板吗?@dashmug,不,我们不使用映射模板