Vik*_*dav 2 json amazon-web-services python-3.x amazon-dynamodb
我有一个简单的 JSON,想将其转换为 DynamoDB JSON。有什么简单的方法可以做到这一点吗?
如果你想JsonString
的话Dynamodb Map
,你可以使用boto3
。这是一个例子。
import boto3
import json
json_string = '{"key1": 1, "key2": "value"}'
json_obj = json.loads(json_string)
dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('test-table')
table.put_item(Item={'pk': 'pk-value', 'map': json_obj})
Run Code Online (Sandbox Code Playgroud)
如果你只想更新 whileMap
属性,你可以使用与 .json 相同的 JSON 格式put_item
。
json_string = '{"key1": 2, "key2": "value2"}'
json_obj = json.loads(json_string2)
rsp = table.update_item(
Key={'pk': 'pk-value'},
AttributeUpdates={'map': {'Value': json_obj2, 'Action': 'PUT'}}
)
Run Code Online (Sandbox Code Playgroud)
但是,如果您只想更新特定的嵌套属性,则需要使用UpdateExpression
. 例如,以下代码仅将key1
属性更新为“value3”。
nested_json_string = '{"nested": "key3"}'
nested_json_obj = json.loads(nested_json_string)
rsp = table.update_item(
Key={'pk': 'pk-value'},
UpdateExpression='SET #map.#key1 = :val3',
ExpressionAttributeNames={'#map': 'map', '#key1': 'key1'},
ExpressionAttributeValues={':val3': nested_json_obj}
)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8328 次 |
最近记录: |