Google App Engineの標準環境でサービスアカウントを使用する方法が不思議です。 適切なJSONキーファイルを使用してBigQueryにアクセスするためのコードをいくつか作成しました。それはローカルdev_appserver.py
上で実行したときに、私は地元のPythonインタプリタ上で実行しますが、無残に次のエラーで失敗した場合の結果GAEのPythonでサービスアカウントを使用するには?
from google.cloud import bigquery
....
bigquery_client = bigquery.Client.from_service_account_json(proper_path_to_json_key)
list(bigquery_client.list_datasets())
コードがOKに動作します。
TransportError: ('Connection aborted.', error(13, 'Permission denied'))
GAEで実行すると、それでもエラーは発生しますが、エラーメッセージは以下のようになります。
TransportError: ('Connection broken: IncompleteRead(208 bytes read)', IncompleteRead(208 bytes read))
私は、このエラーは、アウトバウンドトラフィックにGAEの制約に起因していると思いますが、ここでhttps://cloud.google.com/appengine/docs/standard/python/issue-requests を説明したが、私はそれを解決する方法は考えています。
GAE環境でサービスアカウントを使用する最も良い方法は何ですか?