2017-12-10 57 views
1

todays.list()가 오늘의 직업 만 반환하는 이유는 무엇입니까? 변수 t를 출력하면 오늘 실행 된 작업 만 제공합니다. 90 일 동안 더 많은 역사를 가지려면 어떻게해야합니까?Google bigquery api가 역사적인 직업을 표시하지 않음

credentials = GoogleCredentials.get_application_default() 
# Construct the service object for interacting with the BigQuery API. 
bigquery_service = build('bigquery', 'v2', credentials=credentials) 


t=bigquery_service.jobs().list(projectId=project_id,allUsers=True, 
projection='full',stateFilter=job_state.lower()).execute() 

답변

1

페이지 결과를 반복하지 않기 때문에 발생합니다.

credentials = GoogleCredentials.get_application_default() 
service = build('bigquery', 'v2', credentials=credentials) 
results = [] 

t=service.jobs().list(projectId=project_id,allUsers=True, 
    projection='full',stateFilter=job_state.lower()).execute() 
results.append(t['jobs']) 

while t.get('nextPageToken') is not None: 
     t=service.jobs().list(projectId=project_id, 
           allUsers=True, 
           projection='full', 
           stateFilter=job_state.lower(), 
           pageToken=t.get("nextPageToken")).execute() 
    if t.get('jobs'): 
     results.append(t['jobs']) 

pageToken를 사용하여 페이지를 반복해야하며 results에 대한 응답을 추가 : 같은 당신의 코드를 적응.

파이썬 google-cloud-api을 사용할 수도 있습니다.이 작업은 이미 자동으로 처리되지만 (사용하는 경우 AppEngine Standard 환경에서는 작동하지 않습니다).

+0

효과가있었습니다. 고맙습니다 –