使用 Pub/Sub 觸發 Cloud Function

本教學課程將示範如何使用 Cloud Scheduler 和 Cloud Pub/Sub 觸發 Cloud Functions。排定 Cloud Functions 的執行時間是 Cloud Scheduler 的常見用途。您將會:

  • 建立簡單的 Cloud Function 以訂閱 Cloud Pub/Sub 主題。
  • 建立 Cloud Pub/Sub 主題以觸發該函式。
  • 建立 Cloud Scheduler 工作以叫用 Cloud Pub/Sub 觸發條件。
  • 執行 Cloud Scheduler 工作。
  • 驗證是否成功。

事前準備

本教學課程假設您已完成 Cloud Scheduler 的快速入門導覽課程。因此,您已具備下列工具和資源:

  • 啟用計費功能的 GCP 專案。

  • 位於其中一個 App Engine 支援地區的 App Engine 應用程式。

  • 專案已啟用 Cloud Scheduler API 和 Cloud Pub/Sub API。您會在本教學課程中啟用 Cloud Functions API。

費用

本教學課程使用的 Cloud Platform 可計費元件包括:

  • Google Cloud Functions
  • Google Cloud Pub/Sub
  • Google Cloud Scheduler

使用 Pricing Calculator 可根據您預計的使用量來產生預估費用。

新加入 Cloud Platform 的使用者可能符合免費試用的資格。

建立 Cloud Function:

  1. 前往主控台的「Cloud Functions」頁面。

    前往「Cloud Functions」頁面

  2. 按一下 [Enable API] (啟用 API]) 按鈕。

  3. 按一下 [Create function] (建立函式) 按鈕。

    圖片

  4. 設定函式名稱。接受預設的記憶體分配。

  5. 在「Trigger」(觸發條件) 下拉式選單中,選取 [Cloud Pub/Sub]

  6. 從下拉式選單中選取現有主題,或使用「建立新主題」彈出式視窗建立新主題。您的函式現已訂閱該主題。記下主題名稱,後續步驟將會用到。

  7. 接受其他欄位的預設值,包括 index.jspackage.json 範例程式碼。

  8. 按一下 [Create] (建立)。

建立 Cloud Scheduler 工作

  1. 前往主控台的「Cloud Scheduler」頁面。

    前往「Cloud Scheduler」頁面

  2. 按一下 [Create job] (建立工作) 按鈕。

  3. 設定工作名稱,並視需要新增說明。

  4. 使用 unix-cron 格式指定工作的頻率

    * * * * *
    

    詳情請參閱設定 Cron 工作時間表

  5. 選取時區。

  6. 在「Target」(目標) 下拉式選單中,選取 [Pub/Sub]

  7. 輸入您在上方選取的「Topic」(主題) 名稱。

  8. 新增要傳送至目標的簡短「Payload」(酬載) 字串。

  9. 按一下 [Create] (建立)。

您現在已建立一個每分鐘都會傳送一則訊息至 Cloud Pub/Sub 主題的 Cron 工作。您的 Cloud Function 已訂閱該主題。

接著來執行您剛剛建立的工作。

執行工作

  1. 開啟「Cloud Scheduler」主控台頁面。

    前往「Cloud Scheduler」頁面

  2. 按一下 [Run now] (立即執行) 按鈕。

    初次叫用在專案中第一個建立的工作時,因為需要進行設定,可能需要幾分鐘的時間才會開始執行。您可能需要稍候片刻。

  3. 查看「Result」(結果) 欄。

    圖片

恭喜!您剛剛已使用主控台查看會傳送訊息至 Cloud Pub/Sub 的 Cron 工作的執行結果。接下來,您將瞭解如何驗證 Cloud Function 已確實執行。

在 Cloud Functions 中驗證結果:

如要驗證 Cron 工作是否成功觸發 Cloud Function:

  1. 前往主控台的「Cloud Functions」頁面。

    前往「Cloud Functions」頁面

  2. 按一下函式名稱。

    圖片

  3. 「Function details」(功能詳細資料) 頁面隨即會開啟。查看叫用次數。

    圖片

    恭喜!您的函式已成功執行。

  4. 按一下 [View Logs] (查看記錄)。

    圖片

  5. 查看叫用的詳細資料。

    圖片

清除

如要避免系統向您的 GCP 帳戶收取您在本教學課程中所用資源的相關費用:

刪除 Cloud Scheduler 工作

  1. 前往 GCP 主控台的「Cloud Scheduler」頁面。

    前往「Scheduler」頁面

  2. 按一下工作旁邊的核取方塊。

  3. 按一下頁面頂端的 [Delete] (刪除) 按鈕,並確認您要刪除工作。

刪除 Pub/Sub 主題

  1. 前往 GCP 主控台的「Cloud Pub/Sub」頁面。

    前往「Pub/Sub」頁面

  2. 按一下主題旁邊的核取方塊。

  3. 按一下頁面頂端的 [Delete] (刪除),並確認您要刪除主題。

刪除 Cloud Functions 函式

  1. 前往 GCP 主控台的「Cloud Functions」頁面。

    前往「Cloud Functions」頁面

  2. 按一下函式旁邊的核取方塊。

  3. 按一下頁面頂端的 [Delete] (刪除) 按鈕,並確認您要刪除工作。

刪除專案

如果您建立的專案只會用於本教學課程,請刪除專案。

  1. 前往 GCP 主控台的「Projects」(專案) 頁面。

    前往專案頁面

  2. 在專案清單中選取要刪除的專案,然後按一下 [Delete] (刪除)
  3. 在對話方塊中輸入專案 ID,按一下 [Shut down] (關閉) 即可刪除專案。

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Scheduler 說明文件