我想在GAE上使用multer,我發現multer-cloud-storage庫。
當使用這個庫時,我必須設定keyFilename。keyFilename被解釋為你生成的json密鑰的路徑。
當在開發環境中使用它時,我在 env 中設定 GOOGLE_APPLICATION_CREDENTIALS 并將其設定為 keyFilename。這沒有問題。但是當在GAE上運行時。GOOGLE_APPLICATION_CREDENTIALS是未定義的,所以構建失敗。
https://github.com/alexandre-steinberg/multer-cloud-storage
我認為GOOGLE_APPLICATION_CREDENTIALS是在GAE上自動生成的,但這種理解可能是錯誤的。
uj5u.com熱心網友回復:
看來你的設定只適用于本地機器,對App Engine不兼容。GOOGLE_APPLICATION_CREDENTIALS環境變數是在Google App Engine上自動設定的,可以使用Application Default Credentials訪問。
我們也不建議在應用程式中存盤/使用您的服務帳戶檔案。 建議使用應用程式默認憑證(ADC)和App Engine上的Google客戶端庫。以下是在 Google Cloud App Engine 上使用 Multer 的示例代碼,John Hanley 的答案中對其進行了很好的解釋,包括教程鏈接:
谷歌客戶端庫支持應用默認憑證(ADC)。這意味著這些庫將嘗試自動為您找到憑證。然后,客戶端庫可以使用環境來查找要在 Windows 上使用的服務帳戶,并在部署時自動使用 App Engine 默認服務帳戶。
通過在你的代碼中包含 ADC,你可以在 Windows/Linux 上進行測驗,并將其部署到 App Engine,而無需修改你的代碼,也沒有在部署中包含服務帳戶 JSON 檔案的安全風險。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/317580.html
標籤:
