我正在使用googlepythonapi来处理BigQuery。在
我试图使用jobs().list()
和jobs().list_next()
来分页
我项目中所有的工作。我使用的是具有以下代码的生成器:
request = service.jobs().list(projectId=project_id,
allUsers=True,
stateFilter="done",
)
# or maxResults=500)
# or maxResults=1000)
# or maxResults=64000)
while request is not None:
response = request.execute()
for x in response["jobs"]:
yield x
request = service.jobs().list_next(request, response)
问题是,根据我如何使用maxResults
,我得到了不同的工作列表。在
maxResults
参数,我看到9986个作业。在maxResults=500
我看到8596个工作。在maxResults=1000
我看到6743个工作。在maxResults=64000
我看到6743个作业。在我希望每次工作的数量都是一样的,所以我不确定是否 我正确地使用了API。在
在项目中循环执行所有作业的正确方法是什么?在
(更新时间:2013年8月14日星期三15:30:29)
还在想办法解决这个问题。我运行了@michaelmanoochehri友好地提供的代码三次,使用了不同的maxResults
。关于每次报告的工作数量及其相互关系的各种信息如下:
我仍然不明白为什么不管使用的是maxResults
,我都没有看到一个一致的作业总数。在
首先,[bigquery_客户端.pyPython模块[1]是从Python访问API的好方法,它构建在原始客户端库的基础上,具有额外的错误处理、分页等功能:
我不确定您是否正确地使用了页面令牌?你能确认你正在检查下一个目标吗?下面是我以前用过的一个例子:
^{1}$相关问题 更多 >
编程相关推荐