我正在尝试使用来自query_entities响应的延续令牌来检索下一个1000个值,但是我又得到了相同的1000个值。

我的密码

rows = table_service.query_entities(
    'tableName', "PartitionKey eq '6'", top=1000)

nextRowKey = rows.x_ms_continuation['NextRowKey']

rows = table_service.query_entities(
    'tableName', "PartitionKey eq '6'",
    next_row_key=nextRowKey, top=1000)


难道我做错了什么?从github中的解释看来,它应该可以工作。

最佳答案

当表服务返回延续令牌时,您会得到两件事-NextPartitionKeyNextRowKey。要获取下一组实体,您需要同时使用它们。请执行以下操作:

rows = table_service.query_entities(
    'tableName', "PartitionKey eq '6'", top=1000)

nextRowKey = rows.x_ms_continuation['NextRowKey']
nextPartitionKey = rows.x_ms_continuation['NextPartitionKey']

rows = table_service.query_entities(
    'tableName', "PartitionKey eq '6'", next_partition_key=nextPartitionKey,
    next_row_key=nextRowKey, top=1000)

关于python - Azure表存储-使用next_row_key返回相同的块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34852888/

10-11 06:02