我已经成功设置了API网关Kinesis代理。但是我无法弄清楚如何在多个分片之间平均分配记录。
这是用例:
我们有大量的Web钩子需要处理(每天=数百万)
那些Webhooks命中了API网关(带有POST调用),API网关将信息/ json-body推送到Kinesis,而Lambda处理Kinesis流。
webhooks来自第三方,我们无法控制正文或标题的内容
我仅使用putRecords
功能。
我知道我需要在API网关的映射模板中添加某种随机数生成器或Shard迭代器,但是我不确定如何。
{
"StreamName": "webhook_queue",
"Data": "$util.base64Encode($input.json('$'))",
"PartitionKey": "<HOW DO I MAKE THIS ITERATE THROUGH SHARDS!>"
}