Benutzerdefinierte Plug-ins installieren

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

  1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

    Zur Seite Umgebungen“

  2. Suchen Sie Ihre Umgebung und folgen Sie dem Link DAGs.

  3. Gehen Sie eine Ordnerebene nach oben und wechseln Sie zum Ordner plugins/.

  4. 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 Ordner plugins hochzuladen. Andernfalls lassen Sie das Argument --destination weg.

Liste der Plug-ins ansehen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

    Zur Seite Umgebungen“

  2. Suchen Sie Ihre Umgebung und folgen Sie dem Link DAGs.

  3. Gehen Sie eine Ordnerebene nach oben und wechseln Sie zum Ordner plugins/.

  4. 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

  1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

    Zur Seite Umgebungen“

  2. Suchen Sie Ihre Umgebung und folgen Sie dem Link DAGs.

  3. Gehen Sie eine Ordnerebene nach oben und wechseln Sie zum Ordner plugins/.

  4. 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

  1. Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.

    Zur Seite Umgebungen“

  2. Suchen Sie Ihre Umgebung und folgen Sie dem Link DAGs.

  3. Gehen Sie eine Ordnerebene nach oben und wechseln Sie zum Ordner plugins/.

  4. 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 Umgebung
  • LOCATION: Region, in der sich die Umgebung befindet

API

  1. Erstellen Sie eine environments.patch-API-Anfrage.

  2. In dieser Anfrage:

    1. Geben Sie im updateMask-Parameter die config.software_config.web_server_plugins_mode-Maske an.

    2. 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.

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.

Nächste Schritte