1

我正在尝试使用 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)
4

2 回答 2

2

查看此处的文档:https ://docs.microsoft.com/en-us/python/api/azure.cosmosdb.table.models.entityproperty?view=azure-python ,您可以尝试以下操作吗?

for t in task: print(t.Pos.value)
于 2018-04-24T03:10:48.143 回答
1

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 团队的全职工程师。

于 2021-01-04T21:55:51.287 回答