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



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

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

使用 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 函数将接收事件数据数组。您可以根据需要更改此设置。

最新更新