我需要使用不同的参数调用AWS Lambda数十万次。有没有办法以某种方式批量执行它,传递一长串参数或例如每个有效负载只有一行的S3对象的路径?
答案 0 :(得分:1)
您可以通过亚马逊的SQS传递所有参数。您可以指定批处理大小(即在一个组中同时发送的消息数)。唯一的问题是一次发送的最大消息数为10。尽管如此,这仍然比逐个处理消息更有效。另外,您也可以在一条消息中对所有参数进行编码,请记住,最大消息大小为256KB。
答案 1 :(得分:1)
一种常见的技术是:
您可以选择参数的格式,因为您将需要在Lambda函数中编写代码以从传递到处理程序函数的event
记录中检索参数。
您可以配置批量大小,该大小控制向Lambda函数发送多少消息。您可以将其设置为1
来处理一条消息,或者将其放大并让Lambda函数遍历已提供的消息。
在将所有消息放入队列之前,我建议您仅用几条消息进行测试。
请参阅:
答案 2 :(得分:0)
我需要使用不同的参数调用 AWS Lambda 数十万次。
为此,您可以使用 aws EventBridge,您可以在其中使用 cron 表达式(为了细粒度)根据您的方便安排 lambda,或者如果您想从不同的 aws sources 或第三方发送事件也可以使用事件模式来完成。
<块引用>选择目标作为 aws lambda 后,您可以 configure input 作为常量 jsontext、匹配事件、匹配事件的一部分或输入转换器
注意:- eventbroidge 还允许重试策略和交易信函队列