使用Python SDK使用延续令牌对Azure CosmosDB进行分页



我正在尝试使用Azure Cosmos Python SDK的API实现分页。根据我的阅读和理解,我们需要continuation tokens。但是,我在这里的SDK文档中找不到任何函数,这些函数将使用令牌并返回查询中的剩余数据。我的当前流量:

  • 初始化CosmosClient
  • 获取数据库对象
  • 获取容器对象
  • 查询容器,设置max_count_size=1
  • 获取Paged响应,将其作为对API调用的响应发送

现在,如果我想要查询中的下一个page,我在哪里传递延续令牌,以便我可以基于API调用的上一个查询获得下一个page

from azure.cosmos import exceptions, CosmosClient, PartitionKey
endpoint = "https://xxxxxxxx.documents.azure.com:443/"
key = '===xxxx===xxxx===xxx'
client = CosmosClient(endpoint, key)
database_name = 'test'
database = client.create_database_if_not_exists(id=database_name)
container_name = 'FamilyContainer'
container = database.get_container_client(container_name)
query = "SELECT * FROM c "
items = container.query_items(
query=query,
max_item_count=1,
enable_cross_partition_query=True
)
pager = items.by_page()
first_page = list(pager.next())
print("first page: ", first_page )

现在,如果我想要在另一个API调用中的下一个页面,我在哪里传递continuation token?Azure SDK版本:

$ pip freeze | grep azure
azure-core==1.9.0
azure-cosmos==4.2.0
azure-nspkg==3.0.2
azure-storage-blob==12.6.0
azure-storage-nspkg==3.1.0
  • 下面是一个如何使用它的示例。

  • 以下是SDK的自述文件,其中包含许多提示和有价值的信息,如限制。

最新更新