我有一个整数列表(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')
但是,我希望加快函数的速度并成批发送消息。目前,awssqs允许使用send_messages()
命令一次批处理多达10条消息,但我不确定如何为批处理发送构建Entries=
属性。我使用chunks = [integerList[x:x+10] for x in range(0, len(integerList), 10)]
将整型列表分解成10个更小的列表,但是下一步还不清楚。在
基于@liorko的答案和一些尝试和错误,这似乎是有效的,比我以前使用的一对一的方法快得多。在
根据documentation
Entries
是一个消息列表。对于
Entries
中的每个条目,参数类型在链接中有详细说明。在相关问题 更多 >
编程相关推荐