У меня есть список целых чисел (integerList), которые я хотел бы передать в очередь SQS, где каждое сообщение в очереди является целым числом из списка.
Я могу сделать это одно сообщение за раз с помощью команды send_message()
, код которой приведен ниже.
import boto3
sqsResource = boto3.resource('sqs')
def write_sqs(integerList):
queue = sqsResource.get_queue_by_name(QueueName=NAMEOFQUEUEHERE)
for i in integerList:
response = queue.send_message(MessageBody=str(i),
MessageGroupId='TESTING')
Однако я хотел бы ускорить функцию и отправлять сообщения партиями.В настоящее время AWS SQS позволяет пакетировать до 10 сообщений одновременно с помощью команды send_messages()
, но я не уверен, как создать атрибут Entries=
для пакетной отправки.Я разбиваю integerList на меньшие списки из 10, используя chunks = [integerList[x:x+10] for x in range(0, len(integerList), 10)]
, но следующие шаги неясны.