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