Cloud Run function 是一段程式碼,由事件觸發 後才執行(event-driven),常見事件包含:
因為有事件才跑,適合:
2nd gen 的 Cloud Functions 跑在 Cloud Run 上,享有 Cloud Run 的自動擴縮與更穩定的部署模型;會看到介面在「Cloud Run」底下建立「Function」。
gcfunction
asia-east1
)
- 「Allow public access」會讓任何人都能呼叫你的 HTTP 端點,正式專案建議改用需要憑證(IAM / IAP / 具身分權杖)。
- 2nd gen 支援更一致的部署與更長的逾時上限、併發、VPC 功能等。
執行個體數上限 (Maximum number of instances):
helloHttp
實作(Node.js)參考:預設 index.js 大致像這樣(僅供觀念對照,Lab 會幫你放好)
// index.js
exports.helloHttp = (req, res) => {
const msg = (req.body && req.body.message) || 'Hello World!';
res.status(200).send(msg);
};
message
參數,如果沒有,就回傳 "Hello World!"。在服務詳情頁點 TEST
在 觸發事件 (Triggering event) 欄位的括號 {}
之間,輸入:
{"message":"Hello World!"}
也可複製頁面提供的 CLI test command,在 Cloud Shell 執行
常見測試範例(自行手打也 OK):
FUNCTION_URL="https://<你的-雲端函式-url>"
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $(gcloud auth print-identity-token)" \
-d '{"message":"Hello World!"}' \
"$FUNCTION_URL"
預期輸出:Hello World!