我最近熟悉了 AWS 最奇特的 API 网关映射模板语法,这对我来说并没有多大意义。
我想做的很简单。我在JSON请求主体,而我想增加额外的现场timeReceived与$context.requestTime作为其值。我天真的第一次尝试是#set( $bodyObj.timeReceived = $context.requestTime )行不通的。
我很肯定我会让它工作,但是做这样简单的事情需要时间和精力,IMO 很愚蠢,AWS 应该改进现有的文档。
编辑:我在下面写的解决方案有效,但我主张重新考虑使用 API Gateway。我最近更新了我的应用程序,改为使用 edge lambda 和 CloudFront,这在各方面都是一个更好的解决方案。一些棘手的 lambda 配置无法使用环境变量,因此将 DeliveryStreamName 自动化到代码有点问题(我最终使用带有 Sceptre 的自定义解析器)。但还是好多了。不需要这些愚蠢的黑客 =)。