Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Auf dieser Seite wird das Installieren von benutzerdefinierten Plug-ins in einer Cloud Composer-Umgebung beschrieben.
Mit dem Plug-in-Manager von Apache Airflow können Sie benutzerdefinierte interne Operatoren, Hooks, Sensoren oder Schnittstellen für Apache Airflow schreiben. Weitere Informationen finden Sie unter Benutzerdefinierte Plug-ins in der Airflow-Dokumentation.
Benutzerdefinierte Plug-ins
Wenn Sie eine Umgebung erstellen, wird von Cloud Composer ein Cloud Storage-Bucket erstellt und Ihrer Umgebung zugeordnet. Zum Installieren von benutzerdefinierten Plug-ins verwenden Sie den Ordner plugins im Bucket Ihrer Umgebung.
Hinweise
- Ihr Konto muss eine Rolle haben, mit der der Bucket-Inhalt Ihrer Umgebung aufgerufen und angepasst werden kann.
- Diese Installationsmethode gilt nur für Airflow-Plug-ins. Sie können diese Methode beispielsweise nicht zum Installieren gängiger Python-Module oder anderer Bibliotheken verwenden.
Plug-ins müssen den Richtlinien für Airflow-Plug-in-Vorlagen entsprechen.
Cloud Composer 3 unterstützt keine benutzerdefinierten Plug-ins für den Airflow-Scheduler und den Airflow-Triggerer. Plug-ins werden nicht mit diesen Komponenten Ihrer Umgebung synchronisiert. Dazu gehören Airflow-Funktionen, die auf Plugins basieren, z. B. benutzerdefinierte TimeTables und Listener auf DAG-Ebene. Listener auf Aufgabenebene und integrierte TimeTables werden unterstützt.
Plug-in installieren
Wenn Sie ein benutzerdefiniertes Plug-in in Ihrer Cloud Composer-Umgebung installieren möchten, kopieren Sie den Plug-in-Code in den Ordner plugins im Bucket Ihrer Umgebung.
So installieren Sie Plug-ins:
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Suchen Sie Ihre Umgebung und folgen Sie dem Link DAGs.
Gehen Sie eine Ordnerebene nach oben und wechseln Sie zum Ordner
plugins/.Laden Sie die Plug-in-Dateien hoch. Weitere Informationen zum Hochladen von Objekten finden Sie unter Objekte hochladen.
gcloud
Verwenden Sie den folgenden gcloud-Befehl:
gcloud composer environments storage plugins import \
--environment ENVIRONMENT_NAME \
--location LOCATION \
--source PATH_TO_LOCAL_FILE \
--destination PATH_IN_SUBFOLDER
Ersetzen Sie:
ENVIRONMENT_NAMEdurch den Namen der Umgebung.LOCATIONdurch die Region, in der sich die Umgebung befindet.PATH_TO_LOCAL_FILEdurch den Pfad der hochzuladenden Datei.- (Optional)
PATH_IN_SUBFOLDERdurch den Pfad zum Unterordner. Verwenden Sie das Argument--destination, um ein Plug-in in einen Unterordner im Ordnerpluginshochzuladen. Andernfalls lassen Sie das Argument--destinationweg.
Liste der Plug-ins aufrufen
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Suchen Sie Ihre Umgebung und folgen Sie dem Link DAGs.
Gehen Sie eine Ordnerebene nach oben und wechseln Sie zum Ordner
plugins/.Sehen Sie sich die Plug-in-Dateien an.
gcloud
Verwenden Sie den folgenden gcloud-Befehl:
gcloud composer environments storage plugins list \
--environment ENVIRONMENT_NAME \
--location LOCATION
Ersetzen Sie:
ENVIRONMENT_NAMEdurch den Namen der Umgebung.LOCATIONdurch die Region, in der sich die Umgebung befindet.
Plug-in löschen
Wenn Sie ein Plug-in aus Ihrer Cloud Composer-Umgebung entfernen möchten, löschen Sie den Plug-in-Code aus dem Ordner plugins im Bucket der Umgebung.
So löschen Sie ein Plug-in:
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Suchen Sie Ihre Umgebung und folgen Sie dem Link DAGs.
Gehen Sie eine Ordnerebene nach oben und wechseln Sie zum Ordner
plugins/.Löschen Sie die Plug-in-Dateien. Weitere Informationen zum Löschen von Objekten finden Sie unter Objekte löschen.
gcloud
Verwenden Sie den folgenden gcloud-Befehl:
gcloud composer environments storage plugins delete \
--environment ENVIRONMENT_NAME \
--location LOCATION \
PLUGIN_TO_DELETE
Plug-ins herunterladen
Zum Herunterladen von Plug-ins wählen Sie eine Option aus:
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Suchen Sie Ihre Umgebung und folgen Sie dem Link DAGs.
Gehen Sie eine Ordnerebene nach oben und wechseln Sie zum Ordner
plugins/.Laden Sie die Plug-in-Dateien herunter. Weitere Informationen zum Löschen von Objekten finden Sie unter Objekte herunterladen.
gcloud
Verwenden Sie den folgenden gcloud-Befehl:
gcloud composer environments storage plugins export \
--environment ENVIRONMENT_NAME \
--location LOCATION \
--destination PATH_TO_LOCAL_DESTINATION \
--source PATH_IN_FOLDER
Ersetzen Sie:
ENVIRONMENT_NAMEdurch den Namen der Umgebung.LOCATIONdurch die Region, in der sich die Umgebung befindet.PATH_TO_LOCAL_DESTINATIONdurch das Ziel für die heruntergeladene Datei.--sourceist eine Option zum Herunterladen nur eines Plug-ins.PATH_IN_FOLDERist der Ordnerpfad.
Webserver-Plug-ins deaktivieren
Wenn Sie in Cloud Composer 3 Probleme mit der Airflow-UI haben, können Sie Webserver-Plug-ins deaktivieren, ohne sie aus dem Bucket der Umgebung entfernen zu müssen.
gcloud
Mit den folgenden Google Cloud CLI-Argumenten werden Webserver-Plug-ins deaktiviert und aktiviert:
--no-support-web-server-plugins: Webserver-Plug-ins deaktivieren--support-web-server-plugins: Webserver-Plug-ins aktivieren
Führen Sie den folgenden Google Cloud CLI-Befehl aus, um Webserver-Plug-ins zu deaktivieren:
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--no-support-web-server-plugins
Führen Sie den folgenden Google Cloud CLI-Befehl aus, um Webserver-Plug-ins zu aktivieren:
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--support-web-server-plugins
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: der Name der UmgebungLOCATION: die Region, in der sich die Umgebung befindet
API
Erstellen Sie eine
environments.patch-API-Anfrage.In dieser Anfrage:
Geben Sie im
updateMask-Parameter dieconfig.software_config.web_server_plugins_mode-Maske an.Geben Sie im Anfragetext im Feld
web_server_plugins_modeFolgendes an:- Geben Sie
PLUGINS_DISABLEDan, um Webserver-Plug-ins zu deaktivieren. - Geben Sie
PLUGINS_ENABLEDan, um Webserver-Plug-ins zu aktivieren.
- Geben Sie
Beispiel (Plug-ins deaktivieren):
// 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"
}
}
Beispiel (Plug-ins aktivieren):
// 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"
}
}
Probleme mit Plugins beheben
Plug-ins verursachen Probleme mit der Airflow-Benutzeroberfläche
Sie können Webserver-Plug-ins deaktivieren, ohne sie zu löschen. Weitere Informationen finden Sie unter Webserver-Plug-ins deaktivieren.
Ein neu hochgeladenes Plug-in ist in der Airflow-UI nicht sichtbar
Wenn Sie die Airflow-UI-Zugriffssteuerung verwenden, ist das neu hochgeladene Plug-in möglicherweise nicht in der Airflow-UI sichtbar. Bitten Sie den Airflow-UI-Administrator, den Zugriff auf das neu hochgeladene Plug-in zu konfigurieren, oder weisen Sie sich selbst die Rolle Admin in der Airflow-UI zu, um dieses Problem zu beheben.