我利用 boto3 创建一个 dynamo 客户端并执行 put_item 操作。推送到 dynamodb 的项目具有以下格式。它有一个字符串集数据类型,可以工作。
my_list = ["abc", "efg" ...]
{
"pk" : {"S": "2308ryfoif"},
"some_list" : {"SS" : my_list}
}
现在我想使用批处理编写器,而不是每个 put_item
dynamodb_table = boto3.resource('dynamodb').Table('example')
with dynamodb_table.batch_writer() as batch:
for i in list:
batch.put_item(Item=i)
但是批量操作的格式或模式,我理解是我们不必指定数据类型,例如
{
"pk" : "2308ryfoif",
"some_list" : my_list
}
但这会转换为 dynamodb 中的列表,我如何将其作为字符串集发布?
它保存为列表,因为您向它传递了一个列表。如果您想要一个集合,那么您可以将列表转换为集合类型:
{
"pk" : "2308ryfoif",
"some_list" : set(my_list)
}
有关 Python 数据结构的更多信息: https://docs.python.org/3/tutorial/datastructs.html#sets