コード例 #1
0
ファイル: dashboard.py プロジェクト: gj5615/bigquery-e2e
 def get(self, console_id):
   self.response.headers['Cache-Control'] = 'max-age=300'
   console = CONSOLES[int(console_id)]
   formatter = self._init_formatter(console)
   self.response.headers['Content-Type'] = formatter.mime_type()
   if console.table:
     dataset, table = console.table
     next_page = _TableData(PROJECT_ID, dataset, table)
     result = next_page.fetch()
   else:
     result = bigquery.jobs().query(
       projectId=PROJECT_ID,
       body={'query': console.query, 'maxResults': 10000}).execute()
     if 'jobReference' in result:
       job_id = result['jobReference']['jobId']
       next_page = _QueryResults(PROJECT_ID, job_id)
       while 'jobComplete' in result and not result['jobComplete']:
         result = next_page.fetch()
   formatter.start(self.response)
   while result.get('rows'):
     formatter.format(result['rows'], self.response)
     result = (next_page.fetch(result['pageToken']) 
       if 'pageToken' in result else {})
   if result.get('code', 200) != 200:
     self.response.set_status(
       500, message=('Could not fetch data for %s\n%s' % 
         (str(console.table or console.query), json.dumps(result))))
     return
   formatter.finish(self.response)
コード例 #2
0
ファイル: dashboard.py プロジェクト: xweeta86/bigquery-e2e
 def post(self):
     index = self.request.get('index')
     logging.info("Dashboard update: " + index)
     cached = BACKGROUND_QUERIES[int(index)]
     result = bigquery.jobs().insert(projectId=PROJECT_ID,
                                     body=cached.query_job).execute()
     logging.info(str(result))
     self.response.headers['Content-Type'] = 'text/plain'
     self.response.write('ok')
コード例 #3
0
ファイル: dashboard.py プロジェクト: gj5615/bigquery-e2e
 def post(self):
   index = self.request.get('index')
   logging.info("Dashboard update: " + index)
   cached = BACKGROUND_QUERIES[int(index)]
   result = bigquery.jobs().insert(
     projectId=PROJECT_ID,
     body=cached.query_job).execute()
   logging.info(str(result))
   self.response.headers['Content-Type'] = 'text/plain'
   self.response.write('ok')
コード例 #4
0
ファイル: dashboard.py プロジェクト: gj5615/bigquery-e2e
 def _make_request(self, token, num):
   return bigquery.jobs().getQueryResults(
     pageToken=token,
     maxResults=num,
     **self._kwargs)