我正在探索azure管理API。ADF监视器管道一次仅返回100条记录。所以我创建了一个while循环,但由于某些原因,不确定是什么,无法获得下一个令牌
ct = d.get('continuationToken','')
c = 1
while ct!='':
req_body = self.getDataBody(ct)
data = self.getResponse(data_url,data_headers,req_body)
nct = self.getContinuationToken(data,c)
c = c+1
print(c)
if ct == nct:
print(ct)
print(nct)
print('duplicate token')
break
ct = nct
if ct == '':
break
在下一次迭代中,下一个令牌没有得到更新
更新:
遵循上述代码使用的函数
def getDataBody(self,ct):
start_date = datetime.now().strftime("%Y-%m-%d")
end_date = (datetime.now() + timedelta(days=1)).strftime("%Y-%m-%d")
data_body = {'lastUpdatedAfter': start_date, 'lastUpdatedBefore': end_date}
if ct!='':
data_body['continuationToken'] = ct
return data_body
def getResponse(self,url,headers,body):
data = requests.post(url,headers=headers,data=body)
return data.text
def getContinuationToken(self,data,c):
d = json.loads(data)
with open(f'data/{c}.json','w') as f:
json.dump(d,f)
return d.get('continuationToken','')
您可以尝试增加ADF活动中的超时,这可能是因为当前ADF活动中的超时设置小于实际时间 执行该API所需的时间
相关问题 更多 >
编程相关推荐