0
私はいくつかのbigqueryテーブルでSQLクエリを実行しようとしています。私はDefaultCredentialsError
を取得し続け、bigqueryクライアントオブジェクトをインスタンス化しようとしています。Google bigquery APIを使用しているときにDefaultCredentialsErrorを避ける
from google.cloud import bigquery
client = bigquery.Client.from_service_account_json('service_account_key.json')
それともこれを行うことによって:
from oauth2client.service_account import ServiceAccountCredentials
key = open('service_account_key.json', 'rb').read()
credentials = ServiceAccountCredentials(
'my_email',
key,
scope='https://www.googleapis.com/auth/bigquery')
client = bigquery.Client(credentials=credentials)
は私の.jsonのcredentalsファイルに問題があるだろうか?これを行うことによって、たとえば、
他の提案:私は、サービスアカウントのキーを作成しましたか?
(推奨)「GOOGLE_APPLICATION_CREDENTIALS」の認証方法を試したことがありますか?こちら:https://googlecloudplatform.github.io/google-cloud-python/stable/google-cloud-auth.html#overviewをご覧ください。それが動作するかどうかテストできますか? –
このバグに遭っている可能性があります - https://github.com/GoogleCloudPlatform/google-cloud-python/issues/1883 –
Thanks @GrahamPolley。 GOOGLE_APPLICATION_CREDENTIALSの場所をエクスポートすると、 'from_service_account_json'を使用してクライアントをインスタンス化できました。 'from_service_account_json'関数に直接場所を渡しているので、これを行う必要があるのは珍しいことです。 – AlexG