Pub/Sub 觸發條件 (第 1 代)
在 Cloud Run functions 中,Pub/Sub 觸發條件可讓函式回應 Pub/Sub 訊息。為函式指定 Pub/Sub 觸發條件時,需同時指定 Pub/Sub 主題。每當有訊息發布至指定主題,系統就會呼叫函式。
如要讓函式使用 Pub/Sub 觸發條件,必須將函式實作為事件驅動函式:
如果您使用 CloudEvent 函式,Pub/Sub 事件資料會以 CloudEvents 格式傳遞至函式,而 CloudEvent 資料酬載的類型為
MessagePublishedData。如果您使用背景函式,Pub/Sub 事件資料酬載會以
PubsubMessage格式直接傳遞至函式。
Google Events 存放區包含其他資源,可與事件資料搭配使用。
部署作業
部署函式時,您可以指定 Pub/Sub 觸發條件。如需部署函式的一般操作說明,請參閱「部署 Cloud Run 函式」;如需進一步瞭解如何在部署期間設定 Pub/Sub 觸發條件,請參閱本節內容。
gcloud
如果您是使用 gcloud CLI 部署,可以使用下列旗標設定 Pub/Sub 觸發條件:
gcloud functions deploy YOUR_FUNCTION_NAME \ --no-gen2 \ --trigger-topic=YOUR_PUBSUB_TOPIC \ [--retry] \ ...
--trigger-topic旗標用於指定觸發條件要監控的 Pub/Sub 主題。發布至這個主題的訊息會觸發函式呼叫。--retry旗標用於控管系統是否自動重試失敗的函式呼叫。詳情請參閱「重試事件驅動函式」。
舊版 Pub/Sub 事件
Cloud Run functions (第 1 代) 中的舊版函式會使用不同的事件類型,做為 Pub/Sub 觸發條件:
gcloud functions deploy YOUR_FUNCTION_NAME \ --no-gen2 \ --trigger-event=providers/cloud.pubsub/eventTypes/topic.publish \ --trigger-resource=YOUR_PUBSUB_TOPIC \ ...
如果舊版函式已使用這些事件,則支援此事件類型。不過,仍建議您改用 --trigger-topic 旗標,因為舊版事件類型日後可能會移除。
控制台
如果您使用 Google Cloud 控制台部署,可以在「Trigger」(觸發條件) 部分設定 Pub/Sub 觸發條件:
- 在「Trigger」(觸發條件) 欄位中,選取「Cloud Pub/Sub」。
- 在「Select a Cloud Pub/Sub topic」(選取 Cloud Pub/Sub 主題) 欄位中,選取觸發條件要監控的主題,或選取「Create a topic」(建立主題) 開啟視窗,建立新主題。有訊息發布至函式的主題時,就會觸發函式呼叫。
- 選取或取消選取「Retry on failure」(失敗時重試) 核取方塊,即可控管系統是否要自動重試失敗的函式呼叫。詳情請參閱「重試事件驅動函式」。
後續步驟
- 瞭解如何編寫事件導向函式。
- 瞭解如何部署 Cloud Run 函式。
- 如需編寫、部署及透過 Pub/Sub 觸發條件呼叫函式的範例,請參閱 Pub/Sub 教學課程。