Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
本頁面說明如何在 Cloud Composer 環境中安裝自訂外掛程式。
Apache Airflow 的外掛程式管理工具可讓您編寫自訂內部 Apache Airflow 運算子、掛鉤、感應器或介面。詳情請參閱 Airflow 說明文件中的「自訂外掛程式」一節。
關於自訂外掛程式
當您建立環境時,Cloud Composer 會建立 Cloud Storage 值區,並將該值區與您的環境建立關聯。您必須在環境值區的 plugins
資料夾中安裝自訂外掛程式。
事前準備
- 您的帳戶必須具備角色,才能查看及修改環境的值區內容。
- 這個安裝方法僅適用於 Airflow 外掛程式。舉例來說,您無法使用這個方法安裝常用 Python 模組或其他程式庫。
- 外掛程式必須符合 Airflow 外掛程式範本規範。
安裝外掛程式
如要在 Cloud Composer 環境中安裝自訂外掛程式,請將外掛程式程式碼複製到環境值區的 plugins
資料夾中。
如要安裝外掛程式,請按照下列步驟操作:
主控台
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
引數。
查看外掛程式清單
主控台
前往 Google Cloud 控制台的「Environments」頁面。
找出環境,然後點按「DAG」連結。
前往上一層資料夾,然後前往
plugins/
資料夾。查看外掛程式檔案。
gcloud
使用下列 gcloud
指令:
gcloud composer environments storage plugins list \
--environment ENVIRONMENT_NAME \
--location LOCATION
取代:
- 將
ENVIRONMENT_NAME
替換為環境的名稱。 LOCATION
改成環境所在的地區。
刪除外掛程式
如要將外掛程式從 Cloud Composer 環境中刪除,請在環境值區的 plugins
資料夾中,刪除外掛程式程式碼。
如要刪除外掛程式,請按照下列步驟操作:
主控台
gcloud
使用下列 gcloud
指令:
gcloud composer environments storage plugins delete \
--environment ENVIRONMENT_NAME \
--location LOCATION \
PLUGIN_TO_DELETE
下載外掛程式
如要下載外掛程式,請選擇下列其中一個選項:
主控台
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
建立
environments.patch
API 要求。在這個要求中:
在
updateMask
參數中指定config.software_config.web_server_plugins_mode
遮罩。在要求主體的
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
角色給自己。