管理自動化調度管道

您可以使用 Google Cloud CLI 指令,管理部署至 Runner 環境的自動化調度管道。

關於部署環境

專案可以有一或多個部署環境。每個部署環境的設定都會定義如何部署屬於該環境的管道和資源。舉例來說,您可以分別為開發和正式環境建立部署環境。這些部署環境可以有不同的管道集,並在不同的執行器環境中執行。

每個部署環境都必須有執行器環境。 Managed Airflow 是自動化調度管理引擎,可在管道部署後執行管道。執行器環境是您指派給部署環境的Managed Airflow 環境

關於管道套件

自動調度管理管道會部署在管道套件中。管道套件包含一或多個管道和管道資產,這些管道和資產共用相同的部署週期。

每個套裝組合可以有多個版本。部署套件時,系統會一併部署特定版本套件中的所有管道和隨附指令碼。如果觸發管道執行作業,即使您同時部署新版本,所有管道和管道資產仍會維持用於啟動執行作業的套件組合版本。

查看管道清單

如要在部署環境中查看編排管道清單,請在 deployment.yaml 檔案所在的目錄中執行下列 Google Cloud CLI 指令:

gcloud beta orchestration-pipelines list \
  --environment DEPLOYMENT_ENVIRONMENT \
  --bundle BUNDLE_NAME \
  --owner OWNER_NAME

更改下列內容:

  • DEPLOYMENT_ENVIRONMENT:列出指定部署環境中的管道。

    或者,您也可以針對特定執行器環境執行這項指令。在此情況下,請將 --environment 引數替換為 --runner 引數,並指定執行器環境的完整資源 ID。例如://composer.googleapis.com/projects/example-project/locations/us-central1/environments/example-runner-environment

  • (選用) BUNDLE_NAME:列出屬於指定套件的管道。

  • (選用) OWNER_NAME:如要列出屬於指定擁有者的管道,請指定這個參數。

範例:

gcloud beta orchestration-pipelines list \
  --environment example-deployment-environment \
  --bundle example-pipeline-bundle \
  --owner example-pipeline-owner

查看管道的詳細說明

如要查看特定管道的說明,請在 gcloud CLI 中執行下列指令:

gcloud beta orchestration-pipelines describe \
  --environment DEPLOYMENT_ENVIRONMENT \
  --bundle BUNDLE_NAME \
  --pipeline PIPELINE_NAME

更改下列內容:

  • DEPLOYMENT_ENVIRONMENT:管道的部署環境。

    或者,您也可以針對特定執行器環境執行這項指令。在此情況下,請將 --environment 引數替換為 --runner 引數,並指定執行器環境的完整資源 ID。例如://composer.googleapis.com/projects/example-project/locations/us-central1/environments/example-runner-environment

  • BUNDLE_NAME:管道所屬的套件。

  • PIPELINE_NAME:管道名稱。

範例:

gcloud beta orchestration-pipelines list \
  --bundle example-pipeline-bundle \
  --pipeline example-pipeline \
  --environment example-deployment-environment

部署管道套件

這項指令會根據提供的部署設定,部署管道套件和管道資產。請務必先設定管道部署作業,再執行這項指令。

如要為部署環境部署管道套裝組合,請按照下列步驟操作:

  • 部署已提交的變更:將變更提交至管道資產、管道定義和部署設定後,您可以將新版管道套件部署至執行器環境。新的套件組合 ID 會連結至存放區中的提交內容。這個部署類型通常會做為 CI/CD 的一部分執行。例如透過 GitHub Actions 工作流程。
  • 部署本機套件版本:部署管道資產、管道定義和部署設定的目前版本。新的軟體包 ID 會標示為本機部署作業。這個部署類型適用於開發用途。

如要部署已提交的變更,請在 gcloud CLI 中執行下列指令:

gcloud beta orchestration-pipelines deploy \
  --environment DEPLOYMENT_ENVIRONMENT \

如要部署本機版本,請使用 --local 引數:

gcloud beta orchestration-pipelines deploy \
  --environment DEPLOYMENT_ENVIRONMENT \
  --local

更改下列內容:

  • DEPLOYMENT_ENVIRONMENT:管道的部署環境。

範例:

gcloud beta orchestration-pipelines deploy \
  --environment example-deployment-environment

範例輸出內容包含部署狀態。

--- Pipeline Deployment Status ---
Pipeline 'example-pipeline': [OK] (Status: HEALTHY)

--- Pipeline Deployment full details ---
...

手動觸發管道執行作業

您可以手動觸發特定自動化調度管理管道的執行作業:

  • 您必須先部署管道套件,才能觸發管道。

  • 您只能觸發套件中管道的最新部署版本。觸發執行後,管道一律會以啟動時的套件版本執行所有工作,即使您在這段期間上傳較新的程式碼套件版本也一樣。

如要手動觸發執行,請在 gcloud CLI 中執行下列指令:

gcloud beta orchestration-pipelines trigger \
  --environment DEPLOYMENT_ENVIRONMENT \
  --bundle BUNDLE_NAME \
  --pipeline PIPELINE_NAME

更改下列內容:

  • DEPLOYMENT_ENVIRONMENT:管道的部署環境。

    或者,您也可以針對特定執行器環境執行這項指令。在此情況下,請將 --environment 引數替換為 --runner 引數,並指定執行器環境的完整資源 ID。例如://composer.googleapis.com/projects/example-project/locations/us-central1/environments/example-runner-environment

  • BUNDLE_NAME:管道所屬的套件。

  • PIPELINE_NAME:管道名稱。

範例:

gcloud beta orchestration-pipelines trigger \
  --environment example-deployment-environment \
  --bundle example-pipeline-bundle \
  --pipeline example-pipeline

列出管道的執行記錄

如要查看單一協調管道的執行記錄,包括所有先前管道版本的執行記錄,請在 gcloud CLI 中執行下列指令:

gcloud beta orchestration-pipelines runs list \
  --environment DEPLOYMENT_ENVIRONMENT \
  --bundle BUNDLE_NAME \
  --pipeline PIPELINE_NAME

更改下列內容:

  • DEPLOYMENT_ENVIRONMENT:管道所在的部署環境。

    或者,您也可以針對特定執行器環境執行這項指令。在此情況下,請將 --environment 引數替換為 --runner 引數,並指定執行器環境的完整資源 ID。例如://composer.googleapis.com/projects/example-project/locations/us-central1/environments/example-runner-environment

  • BUNDLE_NAME:管道所屬的套件。

  • PIPELINE_NAME:管道名稱。

範例:

gcloud beta orchestration-pipelines runs list \
  --environment example-deployment-environment \
  --bundle example-pipeline-bundle \
  --pipeline example-pipeline

列出管道執行作業詳細資料

如要查看單一編排管道執行的詳細資料,請在 gcloud CLI 中執行下列指令:

gcloud beta orchestration-pipelines runs describe \
  --environment DEPLOYMENT_ENVIRONMENT \
  --bundle BUNDLE_NAME \
  --pipeline PIPELINE_NAME \
  --run-id RUN_ID

更改下列內容:

  • DEPLOYMENT_ENVIRONMENT:管道所在的部署環境。

    或者,您也可以針對特定執行器環境執行這項指令。在此情況下,請將 --environment 引數替換為 --runner 引數,並指定執行器環境的完整資源 ID。例如://composer.googleapis.com/projects/example-project/locations/us-central1/environments/example-runner-environment

  • BUNDLE_NAME:管道所屬的套件。

  • PIPELINE_NAME:管道名稱。

  • RUN_ID:管道執行作業的 ID。您可以從執行清單取得這個 ID。

範例:

gcloud beta orchestration-pipelines runs describe \
  --environment example-deployment-environment \
  --bundle example-pipeline-bundle \
  --pipeline example-pipeline \
  --run-id scheduled__2026-04-20T02:00:00+00:00

輸出內容範例:

pipelineRuns:
- actions:
  - end_date: '2026-04-21T02:02:31.947672Z'
    execution_date: '2026-04-20T02:00:00Z'
    max_retries: 1
    metadata:
      airflow_dag_id: example-pipeline-bundle__v__33816e2690e93d03ee7b67d16765d9825549636c__example-pipeline
      airflow_task_instances:
      - end_date: '2026-04-21T02:02:31.947672Z'
        execution_date: '2026-04-20T02:00:00Z'
        max_retries: 1
        name: new_pyspark_task_1775735209136
        start_date: '2026-04-21T02:00:17.256040Z'
        state: SUCCEEDED
        try_number: 1
    name: new_pyspark_task_1775735209136
    start_date: '2026-04-21T02:00:17.256040Z'
    state: SUCCEEDED
    try_number: 1
  bundle_id: example-pipeline-bundle
  end_date: '2026-04-21T02:02:32.455241Z'
  execution_date: '2026-04-20T02:00:00Z'
  metadata:
    airflow_dag_id: example-pipeline-bundle__v__33816e2690e93d03ee7b67d16765d9825549636c__example-pipeline
  pipeline_id: example-pipeline
  pipeline_run_id: scheduled__2026-04-20T02:00:00+00:00
  start_date: '2026-04-21T02:00:00.952825Z'
  state: SUCCEEDED
  type: SCHEDULED
  version: 33816e2690e93d03ee7b67d16765d9825549636c

暫停排定的管道執行作業

暫停後,管道不會按照排程執行。您可以手動觸發這類管道的執行作業。這麼做會讓管道保持暫停狀態,並在排程外建立手動管道執行作業。取消暫停管道,啟用時間表。

如要暫停所有排定的管道執行作業,請在 gcloud CLI 中執行下列指令:

gcloud beta orchestration-pipelines pause \
  --environment DEPLOYMENT_ENVIRONMENT \
  --bundle BUNDLE_NAME \
  --pipeline PIPELINE_NAME \

更改下列內容:

  • DEPLOYMENT_ENVIRONMENT:管道所在的部署環境。

    或者,您也可以針對特定執行器環境執行這項指令。在此情況下,請將 --environment 引數替換為 --runner 引數,並指定執行器環境的完整資源 ID。例如://composer.googleapis.com/projects/example-project/locations/us-central1/environments/example-runner-environment

  • BUNDLE_NAME:管道所屬的套件。

  • PIPELINE_NAME:管道名稱。

範例:

gcloud beta orchestration-pipelines pause \
  --environment example-deployment-environment \
  --bundle example-pipeline-bundle \
  --pipeline example-pipeline

取消暫停預定管道執行作業

如要取消暫停排定的管道執行作業,請在 gcloud CLI 中執行下列指令:

gcloud beta orchestration-pipelines unpause \
  --environment DEPLOYMENT_ENVIRONMENT \
  --bundle BUNDLE_NAME \
  --pipeline PIPELINE_NAME \

更改下列內容:

  • DEPLOYMENT_ENVIRONMENT:管道所在的部署環境。

    或者,您也可以針對特定執行器環境執行這項指令。在此情況下,請將 --environment 引數替換為 --runner 引數,並指定執行器環境的完整資源 ID。例如://composer.googleapis.com/projects/example-project/locations/us-central1/environments/example-runner-environment

  • BUNDLE_NAME:管道所屬的套件。

  • PIPELINE_NAME:管道名稱。