2016-06-17 2 views
0

BigQuery API Python 라이브러리를 사용하여 데이터에 액세스하려고하지만 그렇게 할 수 없습니다. 내 코드는 아래와 같습니다. 코드에 사용 된 데이터도 here으로 사용되었으며 코드가 작동하면 TypeError: 'HttpRequest' object has no attribute '__getitem__' 오류가 발생합니다.BigQuery Python API 가져 오기 테이블

print response 대신 출력하면 <googleapiclient.http.HttpRequest object at 0x1031d0d50>입니다.

도움이 될 것입니다.

from apiclient.discovery import build 
import logging 
from oauth2client.client import GoogleCredentials 
logging.basicConfig() 
credentials = GoogleCredentials.get_application_default() 
bigquery_service = build('bigquery', 'v2', credentials=credentials) 
tables = bigquery_service.tables() 
response= tables.get(projectId=project_id, datasetId=dataset_id, tableId=table_id) 
print response['kind'] #causes TypeError: 'HttpRequest' object has no attribute '__getitem__' 
+0

당신이 응답 객체를 디버깅 적이 있습니까? table.get은 원하는 출력을 반환하지 않을 것입니다. – Kalanamith

+0

함수에 __unicode__ 메소드를 추가하십시오. – Kalanamith

+1

@Kalanamith 응답 객체를 디버깅하는 방법에 대해 너무 확신하지 못합니까? 유니 코드 메소드를 추가함으로써,'unicode (project_id)','unicode (dataset_id)'등을 의미합니까? 그렇다면 그냥 시도했지만 아무 소용이 없습니다. ( – niknation

답변

1

당신은 LN (8)의 말에 .execute() 누락 :

[..] 
response= tables.get(projectId=project_id, datasetId=dataset_id, tableId=table_id).execute() 
[..]