我已经阅读了官方的AWS文档和几个论坛,但是当使用Python/Boto3和Dynamodb将项目添加到string_set时,仍然找不到我做错的事情。这是我的代码:
table.update_item(
Key={
ATT_USER_USERID: event[ATT_USER_USERID]
},
UpdateExpression="add " + key + " :val0" ,
ExpressionAttributeValues = {":val0" : set(["example_item"]) },
)
我得到的错误是:
最佳答案
您似乎为自己找到了一种方法,但是对于其他来这里寻找答案的人来说:
ExpressionAttributeValues
和ExpressionAttributeValues
中“设置”。 这是我刚刚运行的一个示例(我有一个现有集test_set,具有4个现有值,并添加了第5个字符串“五”):
import boto3
db = boto3.client("dynamodb")
db.update_item(TableName=TABLE,
Key={'id':{'S':'test_id'}},
UpdateExpression="ADD test_set :element",
ExpressionAttributeValues={":element":{"SS":['five']}})
因此,在此之前,字符串集看起来像
['one','two','three','four']
,在之后,它看起来像['one','two','three','four','five']