我正在尝试使用Python查询Azure表存储。 int32数据类型列不返回其值,但返回类似 azure.storage.table.models.EntityProperty obj .... 的内容。但是,在字符串数据类型列的情况下,我没有遇到任何此类问题。有人可以帮助我吗?
下面脚本中的Pos列是表
中的整数列queryfilter = "startDateTime gt datetime'%s' and temp eq '%s'" % (datefilter, temp)
task = table_service.query_entities(azureTable, filter=queryfilter)
for t in task:
print(t.Pos)
答案 0 :(得分:1)
查看此处的文档:https://docs.microsoft.com/en-us/python/api/azure.cosmosdb.table.models.entityproperty?view=azure-python,您可以尝试以下操作吗?
for t in task: print(t.Pos.value)
答案 1 :(得分:0)
Azure 表存储在预览版中有一个新的 Python 库,可通过 pip 安装。要安装使用以下 pip 命令
pip install azure-data-tables
此 SDK 能够针对 Tables 或 Cosmos 端点(尽管 Cosmos 存在已知问题)。
新库使用了类似的TableEntity
,它是从Python字典继承的键值类型,值是相同的EntityProperty
。有两种方法可以访问实体属性。如果类型是 Int32
(默认整数类型)或 String
它们可以通过以下方式访问:
my_value = entity.my_key # direct access
my_value = entity['my_key'] # same access pattern as a dict
如果 EntityProperty
是 INT32
或 BINARY
类型,那么您必须使用 .value
表示法:
my_value = entity.my_key.value # direct access
my_value = entity['my_key'].value # same access pattern as a dict
仅供参考,我是 Microsoft Azure SDK for Python 团队的全职工程师。