我目前有一个类似于:
的python脚本import boto3
...
response = dynamodb.get_item(
TableName = dynamodb_table_name,
Key = {
"snippet_id": {
"S": snippet_id
}
}
)
if "Item" in response:
item = response["Item"]
print(json.dumps(item, indent=4, cls=DecimalEncoder))
这打印类似于:
{
"var_1": {
"BOOL": false
},
"var_2": {
"S": "Text"
},
"snippet_id": {
"S": "3a97e45c-ffed-4c76-8bb4-b2a32f49a5d2"
}
}
知道如何进行类型检测并返回:
{
"var_1": False,
"var_2": "Text",
"snippet_id": "3a97e45c-ffed-4c76-8bb4-b2a32f49a5d2"
}
此外,这也可以用于查询吗?
答案 0 :(得分:2)
TLDR
使用“资源”代替“客户端”。
摘要
从本质上讲,您可以致电boto3.client()
或boto3.resource()
。
客户端返回 dynamoDB语法。看起来像这样:
'var_1' : {'S':"string"}
资源返回常规语法。看起来像这样:
'var_1' : "string"
更多详细信息
从根本上讲,Boto3所做的只是代表您调用AWS API。对于大多数AWS服务,Boto3提供了两种不同的方法来访问这些抽象的API:
客户端:低级服务访问
资源:更高级别的面向对象的服务访问