Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS API网关don';t在转换中填充方法请求_Amazon Web Services_Aws Lambda_Aws Api Gateway_Serverless Framework - Fatal编程技术网

Amazon web services AWS API网关don';t在转换中填充方法请求

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

我们使用的是AWS API Gateway,它为HTTP端点提供了POST方法,我们可以在该图像上调用该方法:

此网关使用Lambda代理集成调用AWS Lambda函数。问题是,当我们从外部REST客户机调用网关时,传递给函数处理程序的输入对象带有未填充的字段。如果尝试在测试模式下(从AWS网关控制台页面)使用相同的头和主体调用网关,我们会看到Lambda处理程序正确填充了请求对象。下面的日志中有一些详细信息

在测试模式调用中转换前方法请求的日志记录:

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,不,我们不使用映射模板