我正在将大量数据索引到 DynamoDB 并尝试批量写入以增加实际吞吐量(即使索引更快)。这是一段代码(这是原始来源):
def do_batch_write(items,conn,table):
batch_list = conn.new_batch_write_list()
batch_list.add_batch(table, puts=items)
while True:
response = conn.batch_write_item(batch_list)
unprocessed = response.get('UnprocessedItems', None)
if not unprocessed:
break
# identify unprocessed items and retry batch writing
我正在使用 boto 2.8.0 版。如果items
有超过 25 个元素,我会得到一个例外。有没有办法增加这个限制?另外,我注意到有时,即使items
更短,它也无法一次处理所有这些。但是,这种情况发生的频率,或者尝试后有多少元素未处理,与items
. 有没有办法避免这种情况并一次尝试编写所有内容?现在,最终目标是加快处理速度,而不仅仅是避免重复,因此在连续尝试之间长时间休眠不是一种选择。
谢谢