我可以使用 Boto3 的 DynamoDb BatchWrite 插入多少条记录

RK.*_*RK. 2 python-3.x amazon-dynamodb boto3

通过使用 Boto3 的批量插入,我们最多可以插入多少条记录到 Dynamodb 的表中。假设我正在从大小为 6GB 的 S3 存储桶中读取我的输入 json。

并且在批量插入时会导致任何性能问题。任何示例都有帮助。我刚刚开始研究这个,根据我的发现,我会在这里更新。

提前致谢。

tho*_*ace 8

您可以在BatchWriteItem的服务文档中找到类似的信息:

对 BatchWriteItem 的单次调用最多可写入 16 MB 的数据,其中可包含多达 25 个放置或删除请求。要写入的单个项目最大可达 400 KB。

除了消耗写入容量单位外,不存在任何性能问题。

  • 以下是批量写入的示例:https://boto3.amazonaws.com/v1/documentation/api/latest/guide/dynamodb.html#batch-writing (2认同)

小智 8

您可以使用 Boto3batch_writer()函数来执行此操作。批处理编写器处理将项目分块成批、重试等。您将批处理编写器创建为上下文管理器,将所有项目添加到上下文中,批处理编写器在退出上下文时发送批处理请求。

import boto3
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('table-name')

with table.batch_writer() as writer:
    for item in table_data:
        writer.put_item(Item=item)
Run Code Online (Sandbox Code Playgroud)

GitHub 上有一个完整的工作代码示例:https : //github.com/awsdocs/aws-doc-sdk-examples/blob/master/python/example_code/dynamodb/batching/dynamo_batching.py