Aws lambda 如何在AWS SAM中指定映射模板

Aws lambda 如何在AWS SAM中指定映射模板,aws-lambda,aws-api-gateway,aws-sam,Aws Lambda,Aws Api Gateway,Aws Sam,我有一个AWS lambda,作用于以下形式的事件: {"id": "some-id", "stuff": "bla-bla-stuff-here" } 现在,我想将带有POST的API网关端点附加到/stuff/{id}形式的url,实际内容将放在正文中。因此,在方法的集成请求中,有一个映射模板部分,它似乎允许以下内容: { "id": $input.params('id'), "stuff": $input.body } 现在,我如何在SAM文件中指定此模板?SAM使用代理集成到

我有一个AWS lambda,作用于以下形式的事件:

{"id": "some-id", "stuff": "bla-bla-stuff-here" }
现在,我想将带有POST的API网关端点附加到/stuff/{id}形式的url,实际内容将放在正文中。因此,在方法的集成请求中,有一个映射模板部分,它似乎允许以下内容:

{
  "id": $input.params('id'),
  "stuff": $input.body
}

现在,我如何在SAM文件中指定此模板?

SAM使用代理集成到Lambda,我认为这不适用于请求/响应映射。如果是这样,您需要在Swagger中将其指定为Serverless::Api的
DefinitionBody
属性,因为SAM当前没有用于添加请求/响应映射和生成Swagger的属性。使用Swagger最简单的方法是检查生成的堆栈CloudFormation模板;将其复制粘贴到SAM模板的
定义体下
;然后应用必要的夸张添加。

因为SAM是CloudFormation的抽象,所以它支持CloudFormation的模板功能和资源。因此,我认为这篇文章会有所帮助: