2

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環境でサービスアカウントを使用する最も良い方法は何ですか?

答えて

0

申し訳ありませんが、進行中ですが、in this GitHub topicのように、使用しようとしているBigQueryライブラリなどのGoogleクライアントライブラリはまだサポートされていません。

また、必要に応じてApp Engine Flexのデプロイメントを試すか、代わりにGoogle API Client Librariesを試すこともできます。

App Engineでサービスアカウントを使用する際の質問については、そのサービスの実行時に利用可能なデフォルトのビルトインサービスアカウントを使用するか、カスタムサービスアカウントを作成することができます。 documentationのApp Engine Standardのサービスアカウントの使用方法の詳細については、こちらをご覧ください。

関連する問題