排定管道

本文件說明如何排定 BigQuery 管道的執行時間,包括如何排定管道執行時間,以及檢查排定的管道執行作業。

管道由 Dataform 提供支援。每個管道排程都會使用您的 Google 帳戶使用者憑證或您在設定排程時選取的 Dataform 服務帳戶 執行。

您對管道所做的變更會自動儲存,但只有您和在專案中獲得 Dataform 管理員角色的使用者才能存取。如要使用管道的全新版本更新排程,您必須部署管道。部署作業會更新排程,以便使用目前的管道版本。排程一律會執行已部署的最新版本。

包含筆記本的管道排程會使用預設執行階段規格。在排程執行含有筆記本的管道時,BigQuery 會將筆記本輸出內容寫入排程建立期間選取的 Cloud Storage 值區

事前準備

請先建立管道

啟用管道排程

如要排定管道執行時間,您必須將下列角色授予服務帳戶,以便用於管道排程:

服務帳戶使用者 (roles/iam.serviceAccountUser)
請按照「為服務帳戶授予單一角色」中的步驟,將服務帳戶新增為自身的使用者。換句話說,您必須將服務帳戶新增為同一個服務帳戶的主體。接著,將服務帳戶使用者角色授予此使用者。

如果管道包含 SQL 查詢,您必須將下列角色授予服務帳戶,以便用於管道排程:

BigQuery 作业使用者 (roles/bigquery.jobUser)
請按照「在專案中授予單一角色」的說明,將 BigQuery 工作使用者角色授予服務帳戶,以便在管道讀取資料的專案中使用此角色。
BigQuery 資料檢視器 (roles/bigquery.dataViewer)
請按照在專案中授予單一角色的說明,將 BigQuery 資料檢視者角色授予服務帳戶,以便管道讀取資料。
BigQuery 資料編輯器 (roles/bigquery.dataEditor)
請按照在專案中授予單一角色的說明,在管道寫入資料的專案中,將 BigQuery 資料編輯者角色授予服務帳戶。

如果管道包含 Notebook,您必須將下列角色授予服務帳戶,以便用於管道排程:

Notebook 執行緒使用者 (roles/aiplatform.notebookExecutorUser)
請按照「在專案中授予單一角色」的說明,為所選專案中的服務帳戶授予 Notebook 執行緒使用者角色。
儲存空間管理員 (roles/storage.admin)
請按照「在值區層級政策中新增主體」的說明,將服務帳戶新增為 Cloud Storage 值區的主體,以便在排定的管線執行作業中儲存執行的 Notebook 輸出內容,並將 Storage 管理員角色授予此主體。

此外,您必須為預設 Dataform 服務帳戶授予下列角色:

服務帳戶憑證建立者 (roles/iam.serviceAccountTokenCreator)
請按照「授予服務帳戶憑證建立存取權」的說明,將預設 Dataform 服務帳戶新增為服務帳戶的使用者,並將「服務帳戶憑證建立者」角色授予此使用者。

如要進一步瞭解 Dataform 中的服務帳戶,請參閱「關於 Dataform 中的服務帳戶」。

必要的角色

如要取得管理管道所需的權限,請要求管理員授予您下列 IAM 角色:

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

您或許還可透過自訂角色或其他預先定義的角色取得必要權限。

如要進一步瞭解 Dataform IAM,請參閱「使用 IAM 控管存取權」。

如要在排程管道時使用 Colab 筆記本執行階段範本,您必須具備筆記本執行階段使用者 (roles/aiplatform.notebookRuntimeUser) 角色。

建立管道排程

如要建立管道時間表,請按照下列步驟操作:

「Explorer」窗格

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  2. 在「Explorer」窗格中展開專案和「Pipelines」資料夾,然後選取管道。

  3. 點按「Schedule」(排程)

  4. 在「排程管道」窗格中的「排程名稱」欄位中,輸入排程的名稱。

  5. 在「Authentication」部分,使用 Google 帳戶使用者憑證或服務帳戶授權管道。

    • 如要使用 Google 帳戶使用者憑證 (預覽),請選取「以我的使用者憑證執行」
    • 如要使用服務帳戶,請選取「以所選服務帳戶執行」,然後選取服務帳戶。
  6. 如果管道包含筆記本,請在「Notebook options」部分的「Runtime template」欄位中,選取 Colab 筆記本執行階段範本或預設執行階段規格。如要進一步瞭解如何建立 Colab 程式筆記執行階段範本,請參閱「建立執行階段範本」一文。

  7. 如果管道包含筆記本,請在「Notebook options」(筆記本選項) 部分的「Cloud Storage bucket」(Cloud Storage 值區) 欄位中,按一下「Browse」(瀏覽),然後選取或建立 Cloud Storage 值區,以便在管道中儲存筆記本的輸出內容。

    您選取的服務帳戶必須獲得所選儲存桶的 Storage 管理員 IAM 角色。詳情請參閱「啟用管道排程」。

  8. 在「Schedule frequency」部分執行下列操作:

    1. 在「Repeats」選單中,選取排程管道執行的頻率。
    2. 在「At time」(時間) 欄位中,輸入排程管道執行的時間。
    3. 在「時區」選單中,選取時間表適用的時區。
  9. 按一下「建立排程」。如果您選取「使用我的使用者憑證執行」做為驗證方法,則必須授權 Google 帳戶 (預先發布版)。

建立排程時,系統會自動部署目前的管道版本。如要使用新版 pipeline 更新排程,請部署 pipeline

最新部署的 pipeline 版本會在所選時間和頻率執行。

「排定時間」頁面

  1. 在 Google Cloud 控制台中,前往「Scheduling」頁面。

    前往「排程」

  2. 按一下「建立」,然後在選單中選取「管道時間表」

  3. 在「排程管道」窗格中,選取要排程的管道。

  4. 在「排程名稱」欄位中,輸入排程名稱。

  5. 在「Authentication」部分,使用 Google 帳戶使用者憑證或服務帳戶授權管道。

    • 如要使用 Google 帳戶使用者憑證 (預覽),請選取「以我的使用者憑證執行」
    • 如要使用服務帳戶,請選取「以所選服務帳戶執行」,然後選取服務帳戶。
  6. 如果管道包含筆記本,請在「Notebook options」部分的「Runtime template」欄位中,選取 Colab 筆記本執行階段範本或預設執行階段規格。如要進一步瞭解如何建立 Colab 筆記本執行階段範本,請參閱「建立執行階段範本」。

  7. 如果管道包含 Notebook,請在「Cloud Storage bucket」欄位中按一下「Browse」,然後選取或建立 Cloud Storage 值區,以便在管道中儲存 Notebook 的輸出內容。

    您選取的服務帳戶必須獲得所選儲存桶的 Storage 管理員 IAM 角色。詳情請參閱「啟用管道排程」。

  8. 在「Schedule frequency」部分執行下列操作:

    1. 在「Repeats」選單中,選取已排定管道執行頻率。
    2. 在「At time」(時間) 欄位中,輸入排程管道執行的時間。
    3. 在「時區」選單中,選取時間表適用的時區。
  9. 按一下「建立排程」。如果您選取「使用我的使用者憑證執行」做為驗證方法,則必須授權 Google 帳戶 (預先發布版)。

授權給您的 Google 帳戶

如要使用 Google 帳戶使用者憑證驗證資源,您必須手動授予 BigQuery 管道權限,以便取得 Google 帳戶的存取金鑰,並代您存取來源資料。您可以透過 OAuth 對話方塊介面手動核准。

您只需要一次授予 BigQuery 管道權限。

如要撤銷已授予的權限,請按照下列步驟操作:

  1. 前往 Google 帳戶頁面
  2. 按一下「BigQuery 管道」
  3. 按一下 [移除存取權]

如果新 Google 帳戶擁有者從未建立時間表,則透過更新憑證來變更管道時間表擁有者,也需要手動核准。

如果管道包含 Notebook,您也必須手動授予 Colab Enterprise 權限,讓系統取得您的 Google 帳戶存取權杖,並代您存取來源資料。您只需要授權一次。您可以在 Google 帳戶頁面中撤銷這項權限。

部署管道

部署管道時,系統會使用管道的目前版本更新排程。排程會執行已部署的 pipeline 最新版本。

如要部署管道,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  2. 在「Explorer」窗格中展開專案和「Pipelines」資料夾,然後選取管道。

  3. 按一下 [Deploy] (部署)

系統會使用目前的管道版本更新對應的時間表。系統會在預定時間執行最新的已部署 pipeline 版本。

停用排程

如要暫停所選管道已排定時間的執行作業,但不刪除排程,您可以停用排程。

如要停用所選管道的排程,請按照下列步驟操作:

「Explorer」窗格

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  2. 在「Explorer」窗格中展開專案和「Pipelines」資料夾,然後選取管道。

  3. 按一下「查看時間表」

  4. 在「排程詳細資料」表格中,點選「排程狀態」列中的「排程已啟用」切換鈕。

「排定時間」頁面

  1. 在 Google Cloud 控制台中,前往「Scheduling」頁面。

    前往「排程」

  2. 按一下所選管道名稱。

  3. 在「排程詳細資料」頁面中,按一下「停用」

啟用排程

如要恢復已停用的管道排程的排程執行作業,請按照下列步驟操作:

「Explorer」窗格

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  2. 在「Explorer」窗格中展開專案和「Pipelines」資料夾,然後選取管道。

  3. 按一下「查看時間表」

  4. 在「排程詳細資料」表格中,點選「排程狀態」列中的「排程已停用」切換鈕。

「排定時間」頁面

  1. 在 Google Cloud 控制台中,前往「Scheduling」頁面。

    前往「排程」

  2. 按一下所選管道名稱。

  3. 在「時間表詳細資料」頁面中,按一下「啟用」

手動執行已部署的管道

當您手動執行在所選時程表中部署的管道時,BigQuery 會執行已部署的管道一次,不受時程表影響。

如要手動執行已部署的管道,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Scheduling」頁面。

    前往「排程」

  2. 按一下所選管道排程的名稱。

  3. 在「排程詳細資料」頁面中,按一下「執行」

查看所有管道時間表

如要查看 Google Cloud 專案中的所有管道排程,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Scheduling」頁面。

    前往「排程」

  2. 選用:如要顯示包含管道時間表詳細資料的其他資料欄,請按一下 「資料欄顯示選項」,然後選取資料欄並按一下「確定」

查看管道排程詳細資料

如要查看所選管道時間表的詳細資料,請按照下列步驟操作:

「Explorer」窗格

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  2. 在「Explorer」窗格中展開專案和「Pipelines」資料夾,然後選取管道。

  3. 按一下「查看時間表」

「排定時間」頁面

  1. 在 Google Cloud 控制台中,前往「Scheduling」頁面。

    前往「排程」

  2. 按一下所選管道排程的名稱。

查看過去的排程執行作業

如要查看所選管道時間表的過去執行記錄,請按照下列步驟操作:

「Explorer」窗格

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  2. 在「Explorer」窗格中展開專案和「Pipelines」資料夾,然後選取管道。

  3. 按一下「執行」

  4. 選用:如要重新整理過去執行作業的清單,請按一下「重新整理」

「排定時間」頁面

  1. 在 Google Cloud 控制台中,前往「Scheduling」頁面。

    前往「排程」

  2. 按一下所選管道名稱。

  3. 在「Schedule details」頁面的「Past executions」部分中,檢查過去的執行作業。

  4. 選用:如要重新整理過去執行作業的清單,請按一下「重新整理」

編輯管道排程

如要編輯管道時間表,請按照下列步驟操作:

「Explorer」窗格

  1. 前往 Google Cloud 控制台的「BigQuery」頁面。

    前往 BigQuery

  2. 在「Explorer」窗格中展開專案和「Pipelines」資料夾,然後選取管道。

  3. 按一下「查看排程」,然後點選「編輯」

  4. 在「排定管道」對話方塊中編輯排程,然後按一下「更新排程」

「排定時間」頁面

  1. 在 Google Cloud 控制台中,前往「Scheduling」頁面。

    前往「排程」

  2. 按一下所選管道名稱。

  3. 在「排程詳細資料」頁面中,按一下「編輯」

  4. 按一下「查看排程」,然後點選「編輯」

  5. 在「排定管道」對話方塊中編輯排程,然後按一下「更新排程」

刪除管道排程

如要永久刪除管道排程,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Scheduling」頁面。

    前往「排程」

  2. 執行下列任一操作:

    • 按一下所選管道排程的名稱,然後在「排程詳細資料」頁面中按一下「刪除」

    • 在包含所選管道排程的資料列中,按一下「Actions」欄中的 「View actions」,然後點選「Delete」

  3. 在隨即顯示的對話方塊中,按一下「Delete」

後續步驟