AlV*_*Vaz 5 amazon-web-services aws-api-gateway
使用 API Gateway,我尝试定义一个接受 application/json 的 POST 端点来执行以下操作:
我有#1工作。我觉得书上是这样的
这是我被绊倒的#2。看起来我无权访问响应映射模板上下文中的请求正文。我可以使用 $input.params 访问原始查询参数,但找不到任何可以为我提供原始请求正文的属性,并且我需要它来获取我想要响应的数据。要么是这样,要么我需要弄清楚如何异步启动 Lambda 以某种方式提供原始请求正文。
有谁知道这是否可能?
我的目标是确保我的 API 尽可能快地响应,而不会导致 Lambda 冷启动来响应,并通过启动 Lambda 同时触发异步工作流程。我也愿意与 SNS 而不是直接与 Lambda 集成,并让 Lambda 订阅该主题,但我不知道这是否能让我访问响应映射模板中所需的数据。
将原始请求正文保存在集成映射模板中:
#set($context.requestOverride.path.body = $input.body)
Run Code Online (Sandbox Code Playgroud)
在集成映射响应中检索它:
#set($body = $context.requestOverride.path.body)
{
"statusCode": 200,
"body": $body,
}
Run Code Online (Sandbox Code Playgroud)
您还可以访问特定属性:
#set($object = $util.parseJson($body))
{
"id": "$object.id"
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1586 次 |
最近记录: |