如何在boto3的SQS FIFO队列上配置Lambda触发器?

时间:2020-01-10 06:14:13

标签: amazon-web-services aws-lambda amazon-sqs

我想在使用boto3创建或创建SQS FIFO队列后配置Lambda触发器。

我查看了SQS boto3文档,但找不到。 谁能帮我吗?

1 个答案:

答案 0 :(得分:2)

使用boto3,您可以将事件源映射添加到Lambda函数,如下所示:

import boto3

client = boto3.client('lambda', region_name='us-east-1')

response = client.create_event_source_mapping(
    EventSourceArn='arn:aws:sqs:us-east-1:999999999999:myfifo',
    FunctionName='my-lambda-function',
    Enabled=True,
    BatchSize=10
)

更改SQS队列ARN和Lambda函数名称以匹配您的名称。

请注意,我的示例表示BatchSize=10。这很重要,因为这意味着SQS可以将多个消息批处理在一起,然后通过一次调用将它们发送给Lambda。通常,只有在大量消息同时发送到SQS时,才会发生这种情况。在这种情况下,您的Lambda函数将接收事件数据数组。您可以根据需要进行更改。