排定管道

本文說明如何排定 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,您必須將下列角色授予打算用於管道排程的服務帳戶:

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) 在管道上
  • 查看及執行管道: 專案的 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 版本。

「排定時間」頁面

  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 的排定執行作業,但不想刪除排程,可以停用排程。

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

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

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

後續步驟