[學習文件] 如何在 Heroku 上面使用透過 Golang 來存取 Google Cloud 服務
前言:
以往的時候,如果要使用 Google Cloud 相關的 API (比如說: Google Cloud Storage) 存取 API ,只能透過 JSON 檔案來操作。但是如果你想要放上 Heroku 的時候,就必須要放上 GitHub ,這個時候就很容易不小心誤放 JSON 檔案而被機器人掃走而盜用。
本篇文章將告訴你,透過環境變數跟 Golang Buildpack 可以幫助你在安全無慮的狀況下部署 Herokuu 專案,也可以開源到 Github 。
流程:
其實這一篇 Adding Google Cloud Credentials to Heroku 的內容算是蠻完整的,但是裡面的 buildpack 最近用起來怪怪的。
開啟一個專屬的 services account
透過 Google Cloud Console https://cloud.google.com/storage/docs/reference/libraries#create-service-account-console
設定好需要的權限就好: (圖片是需要 Cloud Storage 的建立者)
下載你的 JSON Key (檔案請妥善儲存)
透過 golang build pack 新增
heroku buildpacks:set https://github.com/gerywahyunugraha/heroku-google-application-credentials-buildpack -a your-app-name
接下來將 JSON 檔案參數填寫進 Heroku 設定
GOOGLE_APPLICATION_CREDENTIALS: google-credentials.json (固定)
GOOGLE_CREDENTIALS: 裡面放 JSON 完整內容。
相關程式部分:
相關文章:
Adding Google Cloud Credentials to Heroku
Stackoverflow: How to use Google API credentials json on Heroku?
Simple Golang API File Uploader Using Google Cloud Storage
繼續閱讀