如何在dynamodb中为字符串集数据类型创建批量写入请求?

问题描述 投票:0回答:1

我利用 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 中的列表,我如何将其作为字符串集发布?

python amazon-dynamodb
1个回答
0
投票

它保存为列表,因为您向它传递了一个列表。如果您想要一个集合,那么您可以将列表转换为集合类型:

{
   "pk" : "2308ryfoif", 
   "some_list" : set(my_list)
}

有关 Python 数据结构的更多信息: https://docs.python.org/3/tutorial/datastructs.html#sets

© www.soinside.com 2019 - 2024. All rights reserved.