Pub/Sub 觸發條件 (第 1 代)
在 Cloud Run 函式中,Pub/Sub 觸發事件可讓函式在回應 Pub/Sub 訊息時呼叫。為函式指定 Pub/Sub 觸發條件時,您也需要指定 Pub/Sub 主題。每當訊息發布至指定主題時,系統就會呼叫您的函式。
函式必須實作為事件驅動函式,才能使用 Pub/Sub 觸發條件:
如果您使用 CloudEvent 函式,Pub/Sub 事件資料會以 CloudEvents 格式傳遞至函式,而 CloudEvent 資料酬載的類型為
MessagePublishedData
。如果您使用背景函式,Pub/Sub 事件資料酬載會以
PubsubMessage
格式直接傳遞至函式。
Google 事件存放區包含其他資源,可用於處理事件資料。
部署作業
您可以在部署函式時指定 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 函式 (第 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
標記。
主控台
如果您使用控制台進行部署,可以在「觸發條件」部分設定 Pub/Sub 觸發條件: Google Cloud
- 在「Trigger type」(觸發條件類型) 欄位中,選取「Cloud Pub/Sub」。
- 在「Select a Cloud Pub/Sub topic」(選取 Cloud Pub/Sub 主題) 欄位中,選取要監控的觸發條件主題,或選取「Create a topic」(建立主題) 來開啟建立新主題的視窗。當訊息發布至函式的主題時,系統會觸發對函式的呼叫。
- 選取或清除「Retry on failure」核取方塊,即可控制系統是否會自動重試失敗的函式呼叫。詳情請參閱「重試事件驅動函式」。
後續步驟
- 瞭解如何編寫事件導向函式。
- 瞭解如何部署 Cloud Run 函式。
- 如需使用 Pub/Sub 觸發條件編寫、部署及呼叫函式的範例,請參閱 Pub/Sub 教學課程。