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

How do I configure a Lambda Trigger on SQS FIFO Queue in boto3?

我想在使用 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 函数将接收一组事件数据。您可以根据需要更改它。