异步调用 lambda 函数
Asynchronously invoke lambda functions
我需要从我的 EC2 实例异步调用 lambda 函数。在高层次上,我想到了很多服务(很可能所有这些都支持我想要的功能)-
AWS 状态机(不确定)、步骤函数、Active MQ、SQS、SNS。我知道每个人在高层的利弊。但是不确定我应该选择哪一个:|。请让我知道您的反馈。
PS:我们预计在非常短的时间内峰值每秒调用 1000 次。 lambda 函数的并发不是问题,因为我们可以要求亚马逊随着爆发增加限制。
如果您想异步调用,则不能使用 SQS,因为 SQS 会使用事件源映射同步调用 lambda 函数。
您可以使用 SNS 从上面列出的选项中异步调用 lambda 函数。
更好的选择是在您喜欢的任何 AWS SDK 中编写一小段代码,然后从该代码段异步调用 lambda 函数。
python 中的示例异步使用 boto3
传入InvocationType中的Event异步调用lambda函数,传入RequestResponse同步调用lambda函数
client = boto3.client('lambda')
response = client.invoke(
FunctionName="loadSpotsAroundPoint",
**InvocationType='Event',**
Payload=payload3
我需要从我的 EC2 实例异步调用 lambda 函数。在高层次上,我想到了很多服务(很可能所有这些都支持我想要的功能)- AWS 状态机(不确定)、步骤函数、Active MQ、SQS、SNS。我知道每个人在高层的利弊。但是不确定我应该选择哪一个:|。请让我知道您的反馈。
PS:我们预计在非常短的时间内峰值每秒调用 1000 次。 lambda 函数的并发不是问题,因为我们可以要求亚马逊随着爆发增加限制。
如果您想异步调用,则不能使用 SQS,因为 SQS 会使用事件源映射同步调用 lambda 函数。
您可以使用 SNS 从上面列出的选项中异步调用 lambda 函数。
更好的选择是在您喜欢的任何 AWS SDK 中编写一小段代码,然后从该代码段异步调用 lambda 函数。
python 中的示例异步使用 boto3 传入InvocationType中的Event异步调用lambda函数,传入RequestResponse同步调用lambda函数
client = boto3.client('lambda')
response = client.invoke(
FunctionName="loadSpotsAroundPoint",
**InvocationType='Event',**
Payload=payload3