AWS SQS 批处理消息可以被Lambda函数并行处理。Lambda函数中的代码示例如下:
import json import boto3
sqs = boto3.client('sqs') queue_url = 'SQS_QUEUE_URL' batch_size = 10
def lambda_handler(event, context): records = event['Records'] for record in records: messages = [] message = { 'Id': record['messageId'], 'ReceiptHandle': record['receiptHandle'] } messages.append(message) if len(messages) == batch_size: response = sqs.delete_message_batch( QueueUrl=queue_url, Entries=messages ) print(response) messages = [] if messages: response = sqs.delete_message_batch( QueueUrl=queue_url, Entries=messages ) print(response)
该示例代码展示了如何使用AWS SQS收到Lambda函数的批处理消息。在此示例中,每次处理10个消息,检查消息是否为批消息并对其进行删除。Lambda函数处理多个批处理消息时会并行处理它们。