排定管道

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

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

您對管道所做的變更會自動儲存,但只有您和專案中獲派 Dataform 管理員角色的使用者可以存取。如要使用新版管道更新排程,請部署管道。 部署後,排程會更新為使用目前的管道版本。排程一律會執行最新部署的版本。

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

事前準備

請先建立管道

啟用管道排程

如要排定 pipeline 執行時間,請將下列角色授予您打算用於 pipeline 排程的服務帳戶:

服務帳戶使用者 (roles/iam.serviceAccountUser)
按照「為服務帳戶授予單一角色」一文的說明,將服務帳戶新增為自身的主體。換句話說,請將服務帳戶新增為相同服務帳戶的主體。然後將「服務帳戶使用者」角色授予這個主體。

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

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

如果管道包含筆記本,您必須將下列角色授予打算用於管道排程的服務帳戶:

Notebook Executor User (roles/aiplatform.notebookExecutorUser)
按照「授予專案的單一角色」一文的說明,在所選專案中,將 Notebook Executor User 角色授予服務帳戶。
儲存空間管理員 (roles/storage.admin)
按照「將主體新增至 bucket 層級政策」一文的說明,將服務帳戶新增為主體,加入您打算用來儲存筆記本輸出內容的 Cloud Storage bucket,並將儲存空間管理員角色授予這個主體。

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

服務帳戶憑證建立者 (roles/iam.serviceAccountTokenCreator)
按照「授予服務帳戶權限,允許建立權杖」一文的說明,將預設 Dataform 服務帳戶新增為服務帳戶的主體,並將「服務帳戶權杖建立者」角色授予這個主體。

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

必要的角色

如要取得管理 pipeline 的必要權限,請要求管理員授予下列 IAM 角色:

  • 刪除管道: 在管道上點選「Dataform 管理員」 (roles/dataform.Admin)
  • 建立、編輯、執行及刪除管道排程: Dataform 管理員 (roles/dataform.Admin) 在管道上
  • 查看及執行 pipeline: 專案的 Dataform 檢視者 (roles/dataform.Viewer)
  • 查看管道排程: 專案的 Dataform 編輯器 (roles/dataform.Editor)

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

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

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

如要在排定管道時使用 Colab 筆記本執行階段範本,您需要「筆記本執行階段使用者」(roles/aiplatform.notebookRuntimeUser) 角色。

建立管道排程

如要建立管道排程,請按照下列步驟操作:

「Explorer」窗格

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

    前往 BigQuery

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

  3. 按一下「Schedule」(排程)

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

  5. 在「Authentication」(驗證) 區段中,使用 Google 帳戶使用者憑證或服務帳戶授權管道。

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

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

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

  8. 在「排程頻率」部分執行下列操作:

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

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

系統會以所選時間和頻率,執行最新部署的 pipeline 版本。

「排定時間」頁面

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

    前往「排程」

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

  3. 在「Schedule pipeline」(排程 pipeline) 窗格中,選取要排程的 pipeline。

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

  5. 在「Authentication」(驗證) 區段中,使用 Google 帳戶使用者憑證或服務帳戶授權管道。

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

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

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

  8. 在「排程頻率」部分執行下列操作:

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

授權給您的 Google 帳戶

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

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

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

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

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

如果管道包含筆記本,您也必須手動授予 Colab Enterprise 權限,才能取得 Google 帳戶的存取權權杖,並以您的名義存取來源資料。你只需要授予一次權限。您可以在 Google 帳戶頁面撤銷這項權限。

部署管道

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

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

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

    前往 BigQuery

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

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

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

停用時間表

如要暫停所選 pipeline 的排定執行作業,但不想刪除排程,可以停用排程。

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

「Explorer」窗格

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

    前往 BigQuery

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

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

  4. 在「時間表詳細資料」表格的「時間表狀態」列中,按一下「時間表已啟用」切換鈕。

「排定時間」頁面

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

    前往「排程」

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

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

啟用時間表

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

「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. 在「排程詳細資料」頁面的「過去的執行作業」部分,檢查過去的執行作業。

  4. 選用:如要重新整理過往執行記錄清單,請按一下「重新整理」

編輯 pipeline 排程

如要編輯管道排程,請按照下列步驟操作:

「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. 在隨即顯示的對話方塊中,按一下「刪除」

後續步驟