安裝自訂外掛程式

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

本頁面說明如何在 Cloud Composer 環境中安裝自訂外掛程式。

Apache Airflow 的外掛程式管理工具可讓您編寫自訂內部 Apache Airflow 運算子、掛鉤、感應器或介面。詳情請參閱 Airflow 說明文件中的「自訂外掛程式」一節。

關於自訂外掛程式

當您建立環境時,Cloud Composer 會建立 Cloud Storage 值區,並將該值區與您的環境建立關聯。您必須在環境值區的 plugins 資料夾中安裝自訂外掛程式。

事前準備

安裝外掛程式

如要在 Cloud Composer 環境中安裝自訂外掛程式,請將外掛程式程式碼複製到環境值區的 plugins 資料夾中。

如要安裝外掛程式,請按照下列步驟操作:

主控台

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

    前往「環境」

  2. 找出環境,然後點按「DAG」連結。

  3. 前往上一層資料夾,然後前往 plugins/ 資料夾。

  4. 上傳外掛程式檔案。如要進一步瞭解如何上傳物件,請參閱「上傳物件」。

gcloud

使用下列 gcloud 指令:

gcloud composer environments storage plugins import \
    --environment ENVIRONMENT_NAME \
    --location LOCATION \
    --source PATH_TO_LOCAL_FILE \
    --destination PATH_IN_SUBFOLDER

取代:

  • ENVIRONMENT_NAME 替換為環境的名稱。
  • LOCATION 改成環境所在的地區。
  • PATH_TO_LOCAL_FILE 與要上傳的檔案路徑。
  • (選用) PATH_IN_SUBFOLDER 與子資料夾路徑。使用 --destination 引數,將外掛程式上傳至 plugins 資料夾中的子資料夾。否則,請省略 --destination 引數。

查看外掛程式清單

主控台

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

    前往「環境」

  2. 找出環境,然後點按「DAG」連結。

  3. 前往上一層資料夾,然後前往 plugins/ 資料夾。

  4. 查看外掛程式檔案。

gcloud

使用下列 gcloud 指令:

gcloud composer environments storage plugins list \
    --environment ENVIRONMENT_NAME \
    --location LOCATION

取代:

  • ENVIRONMENT_NAME 替換為環境的名稱。
  • LOCATION 改成環境所在的地區。

刪除外掛程式

如要將外掛程式從 Cloud Composer 環境中刪除,請在環境值區的 plugins 資料夾中,刪除外掛程式程式碼。

如要刪除外掛程式,請按照下列步驟操作:

主控台

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

    前往「環境」

  2. 找出環境,然後點按「DAG」連結。

  3. 前往上一層資料夾,然後前往 plugins/ 資料夾。

  4. 刪除外掛程式檔案。如要進一步瞭解如何刪除物件,請參閱「刪除物件」。

gcloud

使用下列 gcloud 指令:

gcloud composer environments storage plugins delete \
    --environment ENVIRONMENT_NAME \
    --location LOCATION \
    PLUGIN_TO_DELETE

下載外掛程式

如要下載外掛程式,請選擇下列其中一個選項:

主控台

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

    前往「環境」

  2. 找出環境,然後點按「DAG」連結。

  3. 前往上一層資料夾,然後前往 plugins/ 資料夾。

  4. 下載外掛程式檔案。如要進一步瞭解如何刪除物件,請參閱「下載物件」一文。

gcloud

使用下列 gcloud 指令:

gcloud composer environments storage plugins export \
  --environment ENVIRONMENT_NAME \
  --location LOCATION \
  --destination PATH_TO_LOCAL_DESTINATION \
  --source PATH_IN_FOLDER

取代:

  • ENVIRONMENT_NAME 替換為環境的名稱。
  • LOCATION 改成環境所在的地區。
  • PATH_TO_LOCAL_DESTINATION 與下載檔案的目的地。
  • (選用) --source 可用來只下載單一外掛程式。PATH_IN_FOLDER 是資料夾路徑。

停用網路伺服器外掛程式

在 Cloud Composer 3 中,如果 Airflow UI 發生問題,您可以停用網路伺服器外掛程式,而無須從環境的值區中移除這些外掛程式。

gcloud

下列 Google Cloud CLI 引數可停用及啟用網路伺服器外掛程式:

  • --no-support-web-server-plugins:停用網路伺服器外掛程式
  • --support-web-server-plugins:啟用網路伺服器外掛程式

如要停用網路伺服器外掛程式,請執行下列 Google Cloud CLI 指令:

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --no-support-web-server-plugins

如要啟用網路伺服器外掛程式,請執行下列 Google Cloud CLI 指令:

gcloud beta composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --support-web-server-plugins

更改下列內容:

  • ENVIRONMENT_NAME:環境名稱
  • LOCATION:環境所在的區域

API

  1. 建立 environments.patch API 要求。

  2. 在這個要求中:

    1. updateMask 參數中指定 config.software_config.web_server_plugins_mode 遮罩。

    2. 在要求主體的 web_server_plugins_mode 欄位中:

      • 指定 PLUGINS_DISABLED 可停用網路伺服器外掛程式。
      • 指定 PLUGINS_ENABLED 即可啟用網路伺服器外掛程式。

範例 (停用外掛程式):

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.software_config.web_server_plugins_mode

"config": {
  "softwareConfig": {
    "web_server_plugins_mode": "PLUGINS_DISABLED"
   }
}

範例 (啟用外掛程式):

// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.software_config.web_server_plugins_mode

"config": {
  "softwareConfig": {
    "web_server_plugins_mode": "PLUGINS_ENABLED"
   }
}

排解外掛程式問題

外掛程式導致 Airflow UI 發生問題

您可以停用網路伺服器外掛程式,但不必刪除。詳情請參閱「停用網路伺服器外掛程式」。

Airflow UI 中無法顯示新上傳的外掛程式

如果您使用 Airflow UI 存取控管,則新上傳的外掛程式可能不會顯示在 Airflow UI 中。如要解決這個問題,請要求 Airflow UI 管理員設定新上傳外掛程式的存取權,或是在 Airflow UI 中指派 Admin 角色給自己。

後續步驟