Amazon dynamodb dynamodb:如何在地图中增加值
我正在尝试使用dynamodb维护一个带有名称值的映射Amazon dynamodb dynamodb:如何在地图中增加值,amazon-dynamodb,boto3,Amazon Dynamodb,Boto3,我正在尝试使用dynamodb维护一个带有名称值的映射 eg. {"scores": {"player-a": 10}} 我还希望使用增量操作符来执行原子增量。 然而,我几乎找不到关于如何使用/更新dynamodb地图的文档。 这是我到目前为止的python代码 import boto3 ddb = boto3.client('dynamodb') ddb.update_item(TableName='ledger', Key={'week': {'S': '06-12'}},
eg. {"scores": {"player-a": 10}}
我还希望使用增量操作符来执行原子增量。
然而,我几乎找不到关于如何使用/更新dynamodb地图的文档。
这是我到目前为止的python代码
import boto3
ddb = boto3.client('dynamodb')
ddb.update_item(TableName='ledger', Key={'week': {'S': '06-12'}},
UpdateExpression='SET scores.player-a = scores.player-a + :val',
ExpressionAttributeValues={':val': {'N': '12'}})
DynamoDB更新项使用ExpressionAttributeNames来防止属性名称中的特殊字符在表达式中被误解 您的更新项包含“player-a”作为键名,其中包含“-”(连字符)
分数属性(映射、列表或集合)的数据类型是什么?分数=名称及其值的映射如果项中不存在,则可以更改此类代码以插入映射?如果“分数”键不可用,是否会引发错误?我们如何处理?
ddb.update_item(
TableName='ledger',
Key={
'week': {
'S': '06-12'
}
},
UpdateExpression='SET scores.#s = scores.#s + :val",
ExpressionAttributeNames={
"#s": "player-a"
},
ExpressionAttributeValues={
':val': {
'N': '12'
}
}
)