如何根据AWS API Gateway映射模板中的上下文数据设置Kinesis流名称?

问题描述

我在API网关中有一个POST api,它使用PutRecord将数据发送到Kinesis流。我的映射模板如下所示。

{
  "StreamName":"test-stream","PartitionKey":"1","Data":"$util.base64Encode($input.json('$'))"
}

对于给定的StreamName来说效果很好,但是我想根据$context.stage更改流名称。我尝试设置此模板-

#if($context.stage == "prod")
    #set($streamName = "prod-stream"
#else
    #set($streamName = "staging-stream"
#end
{
  "StreamName":"$streamName","Data":"$util.base64Encode($input.json('$'))"
}

但是我在API调用中遇到此错误- Execution Failed due to configuration error: Unable to transform request。 如何基于StreamName数据动态设置$context

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)