gpt4 book ai didi

python - python中没有数据类型的Dynamodb get_item和put_item

转载 作者:行者123 更新时间:2023-12-03 13:33:45 24 4
gpt4 key购买 nike

我目前有一个 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"
}

另外,这也可以用于查询吗?

最佳答案

TLDR
使用resource而不是 client .
概括
本质上,您可以调用boto3.client()boto3.resource() .
客户 返回 dynamoDB 语法 ,看起来像这样:

'var_1' : {'S':"string"}
资源 返回 普通语法 ,看起来像这样:
'var_1' : "string"
延伸阅读
Boto3 的核心是代表您调用 AWS API。对于大多数 AWS 服务,Boto3 提供了两种不同的方式来访问这些抽象的 API:
  • 客户 : 低级服务访问
  • 资源 : 更高层次的面向对象服务访问
  • 引用 : https://realpython.com/lessons/clients-and-resources/
  • 关于python - python中没有数据类型的Dynamodb get_item和put_item,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45421939/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com