[英]Access from gcloud ml-engine jobs to Big Query
我有一個python ML進程使用env變量GOOGLE_APPLICATION_CREDENTIALS
指向的本地json
文件連接到BigQuery
(該文件包含我的密鑰由google提供,請參閱認證入門 )
在本地運行它時效果很好。
我現在希望通過Google的Ml引擎部署我的模型,特別是使用shell命令gcloud ml-engine jobs submit training
。
但是,在我運行我的流程並查看console.cloud.google.com/logs/viewer
中的日志后,我看到gcloud無法訪問Bigquery
,我收到以下錯誤:
google.auth.exceptions.DefaultCredentialsError: File:
/Users/yehoshaphatschellekens/Desktop/google_cloud_xgboost/....-.....json was not found.
目前我不認為gcloud ml-engine jobs submit training
會帶有Json文件(我認為gcloud可以自動訪問BigQuery,我猜不是)
一個可選的解決方法是將我的個人.json保存到另一個子包文件夾中的python dependancies(請參閱packaging-trainer )並導入它。
這個解決方案是否可行/安全?
這個問題還有其他解決方法嗎?
路徑應該是絕對的,並且在Windows中使用反斜杠:
GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\[FILE_NAME].json"
在Python代碼中以這種方式設置它:
os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = "C:\PATH.JSON"
此處使用Google Translate API的示例。
我最終做的是將json上傳到gcloud
存儲桶,然后每次啟動ML引擎訓練過程時將其上傳到我的項目中:
os.system('gsutil cp gs://secured_bucket.json .')
os.environ[ "GOOGLE_APPLICATION_CREDENTIALS"] = "......json"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.