私はキネシスストリームに私のAPI Gatewayからデータをプッシュするために、このチュートリアルを次のようだ:キネシス - 解析データ
私は
.....としての私のボディマッピングテンプレートを設定しています{
"StreamName": "my-stream-name",
"Data": "$util.base64Encode($input.path('$.Data'))",
"PartitionKey": "$input.path('$.PartitionKey')"
}
...とAPIのテストのリクエストボディに、以下の入れている...
{
"Data": {
"Foo": "A",
"Bar": "B"
},
"PartitionKey": "some key"
}
次に、同じKinesisストリームに対してトリガーを設定したラムダ関数を作成しました。しかし、私はKinesisから入って来るレコードをデコード/デシリアライズするのに苦労しています。
exports.handler = (event, context, callback) => {
event.Records.forEach(function(record) {
let payload = JSON.parse(Buffer(record.kinesis.data, 'base64').toString('ascii'))
});
};
データが非JSON形式でKinesisにシリアル化されているようです。 foreachループでrecord.kinesis.data
の値は
e0Zvbz1BLCBCYXI9Qn0 =
...れるバッファを介してプッシュ(record.kinesis.data、 'BASE64')である。のtoString( 'ASCII')
として返します{フー= A、バー= B}
ない
{ "フー": "A"、 "バー": "B"}
主な目的は、私がconsole.log(payload.Foo)
私は何をすべきか/探しているべきであるかについてのヒントは感謝します。
{
"StreamName": "my-stream-name",
"Data": "$util.base64Encode($input.path('$.Data'))",
"PartitionKey": "$input.path('$.PartitionKey')"
}
今すぐJSONを扱うように変更.....と私は私のボディマッピングテンプレートのセットアップを持っていたそこに誰
については