在 Python 中没有数据类型的 AWS DynamoDB execute_statement答案
AWS DynamoDB execute_statement Without Data Types in Python在 Python 中没有数据类型的 AWS DynamoDB execute_statement
我正在使用 boto3 使用 PartiQL 查询我的 DynamoDB 表,
dynamodb = boto3.client(
'dynamodb',
aws_access_key_id='<aws_access_key_id>',
aws_secret_access_key='<aws_secret_access_key>',
region_name='<region_name>'
)
resp = dynamodb.execute_statement(Statement='SELECT * FROM TryDaxTable')
现在,您收到的响应包含一个看起来像这样的字典列表,
{'some_data': {'S': 'XXX'},
'sort_key': {'N': '1'},
'partition_key': {'N': '7'}
}
连同属性名称(例如partition_key
),您将获得值的数据类型(例如'N'
),然后是实际值(例如'7'
)。也可以看出,value实际上也不是指定的数据类型(例如partition_key
应该是一个数字(N
),但是value是一个字符串。
有没有什么方法可以在字典列表中得到我的结果,而不需要类型和应用类型?
意思是这样的,
{'some_data': 'XXX',
'sort_key': 1,
'partition_key': 7
}
请注意,除了删除数据类型外,值也已转换为正确的类型。
这是一个简单的记录,但更复杂的记录可以有列表和嵌套字典。更多信息请点击这里,
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/dynamodb.html#DynamoDB.Client.execute_statement
有什么方法可以让我获得所需格式的数据?
或者有人已经编写了解析数据的函数?
我知道已经发布了一些关于此帖子的问题,但其中大部分与其他语言的 SDK 有关。例如,
AWS DynamoDB data with and/or without types?
我没有找到在 Python 中解决此问题的解决方案。
注意:我想继续使用 PartiQL 来查询我的表。