【问题标题】:I can not retrieve attribute of query_entities of Table_Service我无法检索 Table_Service 的 query_entities 的属性
【发布时间】:2019-10-08 00:49:58
【问题描述】:

我的查询应该返回超过 1000 行。但是,query_entities 一次查询只返回 1000 行。 因此,我想在结果查询超过 1000 行时使用重新生成的令牌来获取查询应返回的所有行。但我无法检索 x-ms-continuation 属性。

#coding:utf-8
class Use_Azure_Data:

    def __init__(self, account_name, sas_token):
        self._account_name = account_name
        self._sas_token = sas_token

    #Auth
    def _set_table_service(self):
        table_service = TableService(account_name=self._account_name, sas_token=self._sas_token)
        return(table_service)


    def Retrives_datas(self, days_before):

        before_now = datetime.datetime.now() - datetime.timedelta(days=days_before)
        now = before_now.isoformat()
        filter = "Timestamp gt datetime'" + now + "'"
        Query = self.Table_Service.query_entities('MyTable', filter = filter, timeout=None)

        if hasattr(Query, 'x-ms-continuation'):
            print("x-ms-continuation attribut for Query EXIST.")
        else:
            print("x-ms-continuation attribut for Query NOT EXIST.


    Table_Service = property(_set_table_service)


Data = Use_Azure_Data('MyAccount', 'MySASkey' )
Data.Retrives_datas(7)

查询 EXIST 的 x-ms-continuation 属性。

我想检索 x-ms-continuation 以使用它来获取所有行应由我的查询检索

【问题讨论】:

    标签: python-3.x azure-storage azure-table-storage


    【解决方案1】:

    如果您使用的是azure-cosmosdb-table 的最新软件包,则应使用marker 而不是x-ms-continuation

    示例代码如下:

    table_service = TableService(account_name, account_key)
    i=0
    marker = None
    while True:
        tasks = table_service.query_entities(table_name, data_filter,
                                             marker = marker,
                                             num_results=1000)
        for task in tasks:
          i += 1
          print(task)
        if tasks.next_marker is not None and len(tasks.next_marker) > 0:
          marker = tasks.next_marker
        else:
            break
    
    
    print i
    

    你可以查看query_entities on GitHub的定义:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-01
      • 2019-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-11
      相关资源
      最近更新 更多