Azure Table 存储查询使用 Python- 读取整数列

Azure Table Storage Querying using Python- Read Integer Column

我正在尝试使用 Python 查询 Azure Table 存储。 int32 数据类型列没有 return 它的值,但 return 是这样的东西 azure.storage.table.models.EntityProperty obj....。但是,对于字符串数据类型列,我没有遇到任何此类问题。有人可以帮我吗?

下面脚本中的 Pos 列是 table

中的整数列
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)

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

for t in task: print(t.Pos.value)

Azure Table Storage 在预览版中有一个新的 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

如果 EntityPropertyINT32BINARY 类型,那么您必须使用 .value 表示法:

my_value = entity.my_key.value  # direct access
my_value = entity['my_key'].value # same access pattern as a dict

仅供参考,我是 Microsoft 的一名全职工程师,负责 Python 团队的 Azure SDK。