我已将API网关配置为Kinesis代理,如亚马逊用于将记录放入Kinesis流的教程中所述。
集成请求的HTTP标头是:
内容类型application / json的正文映射模板如下所示:
#set($event = "{
""rows"": ""$input.json('$')"",
""uuid"": ""$input.params('uuid')"",
}")
{
"StreamName": "$input.params('stream-name')",
"Data": "$util.base64Encode($event)",
"PartitionKey": "$input.params('$partition-key')"
}
我在发送帖子请求时收到内部服务器错误。
答案 0 :(得分:0)
您的身体模板映射似乎有些错误。
如果“PartitionKey”是请求正文使用$input.path('$.PartitionKey')
的一部分,例如当您的请求正文时
{"Data" : "example-data", "PartitionKey" : "example-key"}
;如果“partition-key”是api路径(或查询字符串或标题)的一部分,请使用$input.params('partition-key')
,例如当您的网址为abc.api-xxxxx.com/{stream-name}/{parition-key}/{uuid}
时。
有关输入变量的更多帮助,请参阅http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html#input-variable-reference。
谢谢!