Kal*_*nam 5 amazon-dynamodb boto3
我正在尝试使用 dynamodb 来维护名称及其值的映射
eg. {"scores": {"player-a": 10}}
Run Code Online (Sandbox Code Playgroud)
我还希望使用增量运算符来执行原子增量。但是,我几乎找不到有关如何使用/更新 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'}})
Run Code Online (Sandbox Code Playgroud)
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'
}
}
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4678 次 |
| 最近记录: |