2

我試圖做一個項目,將谷歌存儲json文件上傳到BigQuery(只是自動完成手動完成的東西)。如何使用Python中的服務帳戶驗證Google Cloud?

我想使用'服務帳戶',因爲我的腳本將在每天運行。

讀完我可以找到的有關使用服務帳戶即時通訊仍然努力驗證的一切。

我想知道是否有人可以檢查並指出我錯過了什麼?

這裏是我到目前爲止已經完成:

    服務帳戶
  1. 創建JSON密鑰文件
  2. 安裝的客戶端庫:根據pip install --upgrade google-cloud-bigquery
  3. 安裝谷歌雲SDK:https://cloud.google.com/sdk/docs/
  4. 運行export GOOGLE_APPLICATION_CREDENTIALS=<path_to_service_account_file>正確指定關鍵路徑

現在我嘗試運行下面的python腳本:

from google.cloud import bigquery 
bigquery_client = bigquery.Client() 

我得到這個錯誤:

google.auth.exceptions.DefaultCredentialsError:無法自動確定憑據。請設置GOOGLE_APPLICATION_CREDENTIALS或 明確創建憑證並重新運行應用程序。欲瞭解更多 信息,請參閱 https://developers.google.com/accounts/docs/application-default-credentials

林很新的Python和谷歌的雲API,以便possbily錯過了一些東西,

不知道是否有人能指出哪裏/什麼是錯誤的,我以上步驟或點我清除指令dummys有關設置和使用服務帳戶使用Bigquery運行簡單的腳本?

回答

6

我通常設置在這個變量python腳本本身,類似於:

import os 
from google.cloud.bigquery.client import Client 

os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = 'path_to_json_file' 
bq_client = Client() 
1

您是否在使用導出設置環境變量的同一命令行會話中運行腳本?如果沒有,您可能需要考慮爲您的用戶或系統進行設置(有關更多信息,請參閱this question)。

另一種可能使事情變得更容易並自動處理這些事情的選擇是使用gcloud cli tool。如果你看一下第二個選項here如何應用默認憑據工作,你可以找到關於如何使用它來管理憑據你的信息(gcloud auth logingcloud auth application-default login

相關問題