2017-07-18 38 views
0

我已經將API網關配置爲Kinesis代理,如Amazon的教程中所述將記錄放入Kinesis流中。將api網關連接到kinesis流

集成請求的HTTP標頭是:

  • 內容類型被映射到應用程序/ x-AMZ-JSON-1.1

針對內容類型的應用程序本體映射模板/ 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

你的身體模板映射似乎是越野車。

如果「PartitionKey」是請求主體的一部分使用$input.path('$.PartitionKey'),例如當你的請求主體是 {"Data" : "example-data", "PartitionKey" : "example-key"}

;以及如果「分區鍵」是API路徑(或查詢字符串,或頭)的一部分例如,當您的網址爲abc.api-xxxxx.com/{stream-name}/{parition-key}/{uuid}時,請使用$input.params('partition-key')。請參考。

謝謝!