Google Cloud API 環境建置

Rogerh.eth
誌瓜筆記
Published in
5 min readOct 15, 2019

Google Cloud API 簡介

Google Cloud API 是使用 GCP(Google Cloud Platform)的接口,可以為 Cloud Platform 提供的存儲空間、資料庫、機器學習等雲端運算服務賦予更多的功能。

本文將會帶您佈建使用 Google Cloud API 的環境,例如驗證憑證、授權、使用用戶端程式庫等等,跟著本文操作一次,相信使用 GCP API 對您不會再是難事。

存取 Cloud API

在選擇與學習 API 之前,需要先存取 Cloud API:

  • 使用自己習慣的語言編寫的用戶端程式庫存取
  • 透過伺服器應用程式存取
  • 透過 Firebase SDK 以行動應用程式存取
  • 使用第三方用戶端存取
  • 透過 SDK 指令列工具存取
  • 使用 GCP 主控台存取
💡以上六種方式,會根據不同的使用原因而有不同選擇,像是 Firebase SDK 適合行動應用程式、喜歡使用網頁版 UI 的可以選擇 SDK 指令列工具或 GCP 主控台 ,而本文介紹的第一種方式:用戶端程式庫存取,則是能以自己熟悉的程式設計語言編寫,本篇教程我會以 node.js 完成 Cloud API 的存取。

REST 與 gRPC 介面

所有的 Cloud API 都提供簡單的 JSON REST 介面,可以透過直接呼叫或 Google 的用戶端程式戶來使用。而 GCP 最新一代的 API 還提供遠端程序(RPC)呼叫介面,讓您可以在使用 gRPC 呼叫 API,以提升使用 API 時的效能。

目前可用的 Cloud API

💡本篇教程不會帶您使用任何一個 API 而是做好準備,我會在之後的教程使用到儲存空間和資料庫 API,這邊我先介紹幾個相關 API 的功能,至於對其他功能 API 有興趣的讀者可以到以下網址查看: 
https://cloud.google.com/apis/docs/overview?hl=zh-tw
存儲相關 API 服務

以用戶端程式庫存取 Cloud API

用戶端程式庫簡介

Google Cloud 用戶端程式庫採用最新的用戶端程式庫模型,會實時調整各個程式設計語言的更新,因此以這種方式存取 API 也不用擔心隨著各程式語言或 API 更新而導致無法使用。

在這個小節中我將以程式輔助的方式存取 Cloud API,Google Cloud 用戶端程式庫具有以下特性:

  • 提供各種語言版本的程式碼,使得 Cloud API 變得簡單好用
  • 可處理所有低層級的伺服器通訊細節
  • 可以用 npmpip 等熟悉的套件管理工具安裝

接著,我們便會選擇幾個與 GCS 相關的 Google API 作為範例,藉由適當的 Cloud 用戶端程式庫來存取 Cloud API。

Cloud Storage 用戶端程式庫

這一小節需要完成兩步驟:下載與佈建 Cloud Storage 用戶端程式庫。

下載用戶端程式庫

這邊需要更新至最新版本的 npm 。若不確定是否為最新版本,可以在終端機輸入 npm -v 來確認,若尚未安裝可以輸入 brew install node ,完成安裝後再分次輸入 npm -vnode -v 來確認版本。

接著,在終端機輸入以下代碼來安裝用戶端程式庫:

npm install --save @google-cloud/storage

用 GCP 主控台設置授權

要啟動用戶端程式庫,必須透過建立服務帳戶(Service Account)與設置環境變數來調整授權,以下筆者用 GCP 主空台操作一次:

  1. 前往 GCP 主控台的 API 和服務的憑證頁面
  2. 選取一個專案,進入「建立服務帳戶金鑰」頁面
  3. 服務帳戶欄位選取「新增服務帳戶」,並輸入名稱
  4. 角色清單的專案欄位中選取「擁有者」
  5. 點選「建立」,包含您金鑰的 JSON 檔案便會下載到電腦中

接著,需要設定環境變數 GOOGLE_APPLICATION_CREDENTIALS 來為應用程式程式碼提供驗證憑證。

將以下代碼 [PATH] 部分以剛剛您下載的服務帳戶金鑰的檔案路徑代替,並將 [FILE_NAME] 更正為檔案名稱:

export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

🚫 等號旁邊不能留空格!

使用用戶端資料庫建立值區

最後我使用 Node.js 來簡單建立一個 GCS 的值區來作為範例,如果您執行以下代碼後成功在您的帳戶建立了值區,就表示成功使用 Google Cloud API 了:

💡以上代碼建立的值區在區域、儲存類別等地方都是預設,若要調整需要再加其他代碼

其他如上傳物件、下載物件等等功能,有興趣可以到以下的教學指南學習:

Google Cloud Storage 教學指南 以下兩篇的代碼部分

GCS 教學指南

結論

使用 Google Cloud API 是使用 GCP 相當重要的技術,更是開發者的必備技能,因此如果您能完完整整的學玩這篇教程的內容,便是打下了一個良好的基礎,對您未來使用 GCP 服務相當有幫助。

如果本篇內容有什麼問題歡迎在底下留言區提出或討論,恭喜您成功學會了這世代一個非常重要的開發技術!

參考資料

Google Cloud API

用戶端程式庫說明

安裝用戶端程式庫

Cloud Storage API 與參考資料

Cloud Storage Client Libraries

從 Python 用戶端存取後端 API

--

--

Rogerh.eth
誌瓜筆記

Sharing what i have learned for becoming a great developer.