gpt4 book ai didi

python - 使用 python 从表存储中检索超过 1000 行

转载 作者:行者123 更新时间:2023-11-28 22:30:46 25 4
gpt4 key购买 nike

我正在使用此论坛中的以下模式从表存储中提取数据:

next_pk=0
next_rk=0
while True:
xa=table_service.query_entities(table_name=tableName, filter=dataFilter, num_results=1000, next_partition_key = next_pk, next_row_key = next_rk )
i+=1
if hasattr(accelxa, 'x_ms_continuation'):
x_ms_continuation = getattr(accelxa, 'x_ms_continuation')
next_pk = x_ms_continuation['nextpartitionkey']
next_rk = x_ms_continuation['nextrowkey']
else:
break;

但是当我运行它时,出现以下异常:

TypeError was unhandled by user code
Message: query_entities() got an unexpected keyword argument 'next_partition_key'

所以看起来 api 已经从编写示例时发生了变化,我无法确定新的 api 是什么。

我查看了 github,在方法调用中引用了一个标记对象,但我不清楚如何使用它。任何例子都会有所帮助。 https://github.com/Azure/azure-storage-python/blob/master/azure/storage/table/tableservice.py

 def _query_entities(self, table_name, filter=None, select=None, max_results=None, marker=None, accept=TablePayloadFormat.JSON_MINIMAL_METADATA, property_resolver=None, timeout=None, _context=None): 

最佳答案

查看Github代码:

def _query_entities(self, table_name, filter=None, select=None, max_results=None,
marker=None, accept=TablePayloadFormat.JSON_MINIMAL_METADATA,
property_resolver=None, timeout=None, _context=None):
...

next_partition_key = None if marker is None else marker.get('nextpartitionkey')

根据这种语法,您必须将 marker 关键字参数初始化为字典 (dict) 并设置 marker['nextpartitionkey'] (不是 'next_partition_key') 等于你想要的值。

xa = table_service.query_entities(..., marker={'nextpartitionkey'= ...}, ...)

您还应该从代码中删除 next_row_key 关键字参数并以相同的方式初始化 marker['nextrowkey']

关于python - 使用 python 从表存储中检索超过 1000 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41982967/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com