AWS:如何将 API 网关中定义的资源传递给 lambda?
AWS: How to pass the resource defined in API gateway to lambda?
我尝试构建一个简单的 Rest API。我只知道如何通过映射将查询字符串传递给我的 lambda 函数。现在我想知道是否有办法将“资源”传递给我的 lambda 函数?
例如,请问我的lambda如何得到“fruit”和“vegetable”?
您可以在 mapping template
中定义一个映射,如下所示,我为名为 fruits
的资源定义了一个 GET
HTTP 方法。
$context Variables for data models, authorizers, mapping templates, and CloudWatch access logging
它将对您的 lambda 可用,如下面的日志所示。
集成请求 LAMBDA
将请求 body 单独传递给 Lambda
集成请求 LAMBDA_PROXY
将附加 headers、查询参数等并发送类似于 here 的丰富请求,而请求 body 将只是作为 body
中的字符串。这里已经包含了我们需要的所有东西,api-key used, api-id, headers, stages, parms等等,如果我们不喜欢这样,那么我们可以自定义请求body 通过设置自定义映射模板(如其他答案)
我们可以通过单击集成请求并选中 Use Lambda Proxy integration
来启用 Lambda 代理集成
我尝试构建一个简单的 Rest API。我只知道如何通过映射将查询字符串传递给我的 lambda 函数。现在我想知道是否有办法将“资源”传递给我的 lambda 函数?
例如,请问我的lambda如何得到“fruit”和“vegetable”?
您可以在 mapping template
中定义一个映射,如下所示,我为名为 fruits
的资源定义了一个 GET
HTTP 方法。
$context Variables for data models, authorizers, mapping templates, and CloudWatch access logging
它将对您的 lambda 可用,如下面的日志所示。
集成请求 LAMBDA
将请求 body 单独传递给 Lambda
集成请求 LAMBDA_PROXY
将附加 headers、查询参数等并发送类似于 here 的丰富请求,而请求 body 将只是作为 body
中的字符串。这里已经包含了我们需要的所有东西,api-key used, api-id, headers, stages, parms等等,如果我们不喜欢这样,那么我们可以自定义请求body 通过设置自定义映射模板(如其他答案)
我们可以通过单击集成请求并选中 Use Lambda Proxy integration
来启用 Lambda 代理集成