設定 App 開發環境
GCP
課程概述
寫雲端應用,光寫程式碼還不夠,底下的基礎設施也要搭對。這堂課會帶你把一個完整的 GCP 開發環境設起來,包含物件儲存(Cloud Storage)、非同步訊息傳遞(Pub/Sub)和事件驅動函式(Cloud Functions)。
你將學到
- 建立與配置 Cloud Storage bucket 並設定存取權限
- 使用 Pub/Sub 實現非同步訊息傳遞
- 部署第一個 Cloud Function 處理事件
- 理解事件驅動架構的基本模式
- 使用 Cloud Shell Editor 進行開發
核心概念
Pub/Sub 訊息模式
Pub/Sub 是 GCP 的全託管訊息佇列服務,讓發布者跟訂閱者彼此不用直接綁在一起:
- Topic(主題):訊息的發布目標
- Subscription(訂閱):從 Topic 接收訊息的端點
- Push vs Pull:Push 主動推送到端點;Pull 由訂閱者主動拉取
# 建立 Topic
gcloud pubsub topics create my-topic
# 建立 Subscription
gcloud pubsub subscriptions create my-sub --topic=my-topic
# 發布訊息
gcloud pubsub topics publish my-topic --message="Hello"
Cloud Functions 事件觸發
Cloud Functions(現為 Cloud Run Functions)支援多種觸發來源:
| 觸發類型 | 來源 | 範例 |
|---|---|---|
| HTTP | HTTP 請求 | REST API 端點 |
| Cloud Storage | 檔案上傳/刪除 | 圖片縮放處理 |
| Pub/Sub | 訊息發布 | 資料管線處理 |
| Firestore | 文件變更 | 即時通知 |
實作重點
- Cloud Functions 預設 timeout 為 60 秒,可調整至最長 540 秒
- Pub/Sub 訊息至少傳遞一次(at-least-once),需設計冪等處理邏輯
- 開發時善用
gcloud functions logs read查看即時日誌 - 注意 Cloud Functions 第一代與第二代(Cloud Run-based)的差異
Skill Badge 指引
Lab 連結:Set Up an App Dev Environment on Google Cloud — 完成此 lab 可獲得 Skill Badge
延伸學習
- 無伺服器進階:Cloud Run 無伺服器開發
- 本系列下一課:在 GCP 上建立網站
Study Jam:雲端基礎實作 — 3/10 完成
查看系列全覽 →