python:DynamoDB字符串集的附加值

2024-09-29 00:12:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我在DynamoDB中有一个对象:

{ 'UserID' : 'Hank', ConnectionList : {'con1', 'con2'} }

通过在lambda函数中使用boto3,我想将“con3”添加到字符串集。 到目前为止,我一直在尝试以下代码,但没有成功:

ddbClient = boto3.resource('dynamodb')
table = ddbClient.Table("UserInfo")
table.update_item(
    Key={
        "UserId" : 'Hank'
    },
    UpdateExpression = 
        "SET ConnectionList = list_append(ConnectionList, :i)",
    ExpressionAttributeValues = {
        ":i": { "S": "Something" }
    },
    ReturnValues="ALL_NEW"
)

但是,无论我如何尝试将信息放入字符串集中,它总是运行错误


Tags: 对象lambda函数字符串代码tableboto3dynamodb
1条回答
网友
1楼 · 发布于 2024-09-29 00:12:00

由于您使用的是资源API,因此必须在语句中使用Python数据类型set

table.update_item(
    Key={
        "UserId" : 'Hank'
    },
    UpdateExpression = 
        "ADD ConnectionList :i",
    ExpressionAttributeValues = {
        ":i": {"Something"},  # needs to be a set type
    },
    ReturnValues="ALL_NEW"
)

相关问题 更多 >