Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Auf dieser Seite wird beschrieben, wie Sie benutzerdefinierte Plug-ins in Ihrer Cloud Composer-Umgebung installieren.
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. finden Sie in der Airflow-Dokumentation.
Benutzerdefinierte Plug-ins
Wenn Sie eine Umgebung erstellen,
erstellt einen Cloud Storage-Bucket und verknüpft dies
Bucket mit Ihrer Umgebung. 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. Zum Beispiel haben Sie kann diese Methode nicht verwenden, um gängige Python-Module oder andere Bibliotheken zu installieren.
- Plug-ins müssen den Richtlinien für Airflow-Plug-in-Vorlagen entsprechen.
Plug-in installieren
So installieren Sie ein benutzerdefiniertes Plug-in in Ihrer Cloud Composer-Umgebung:
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_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.PATH_TO_LOCAL_FILE
durch den Pfad der hochzuladenden Datei.- (Optional)
PATH_IN_SUBFOLDER
durch den Pfad zum Unterordner. Verwenden Sie das Argument--destination
, um ein Plug-in in einen Unterordner im Ordnerplugins
hochzuladen. Andernfalls lassen Sie das Argument--destination
weg.
Liste der Plug-ins ansehen
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_NAME
durch den Namen der Umgebung.LOCATION
durch 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_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.PATH_TO_LOCAL_DESTINATION
durch das Ziel für die heruntergeladene Datei.--source
ist eine Option zum Herunterladen nur eines Plug-ins.PATH_IN_FOLDER
ist der Ordnerpfad.
Webserver-Plug-ins deaktivieren
Wenn Sie in Cloud Composer 3 Probleme mit der Airflow-Benutzeroberfläche 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 wird der Webserver deaktiviert und aktiviert plugins:
--no-support-web-server-plugins
: Webserver-Plug-ins deaktivieren--support-web-server-plugins
: Webserver-Plug-ins aktivieren
Führen Sie folgenden Befehl aus, um Webserver-Plug-ins zu deaktivieren: Google Cloud CLI-Befehl:
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
: 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_mode
Folgendes ein:- Geben Sie
PLUGINS_DISABLED
an, um Webserver-Plug-ins zu deaktivieren. - Geben Sie
PLUGINS_ENABLED
an, 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"
}
}
Plug-in-Probleme 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 wird in der Airflow-UI nicht angezeigt
Wenn Sie die Zugriffssteuerung für die Airflow-Benutzeroberfläche verwenden, ist das neu hochgeladene Plug-in möglicherweise nicht in der Airflow-Benutzeroberfläche sichtbar. Um dieses Problem zu beheben,
Airflow-UI-Administrator, um den Zugriff auf das neu hochgeladene Plug-in zu konfigurieren, oder
Weisen Sie sich in der Airflow-UI die Rolle Admin
zu.