Benutzerdefinierte Plug-ins installieren

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Auf dieser Seite wird beschrieben, wie Sie benutzerdefinierte Plug-ins in Cloud Composer installieren zu verbessern.

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. Sie verwenden den Ordner plugins in Ihrem Bucket für die Umgebung, um benutzerdefinierte Plug-ins zu installieren.

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 zum Installieren gängiger Python-Module oder anderer Bibliotheken verwenden.
  • Plug-ins müssen den Vorlage für Airflow-Plug-ins Richtlinien einhalten.

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 in Cloud Composer 3 Probleme mit der Airflow-UI auftreten, haben Sie folgende Möglichkeiten: Webserver-Plug-ins deaktivieren, ohne sie aus dem im Bucket der Umgebung.

gcloud

Mit den folgenden Google Cloud CLI-Argumenten wird der Webserver deaktiviert und aktiviert Plug-ins:

  • --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 folgenden Befehl aus, um Webserver-Plug-ins zu aktivieren: Google Cloud CLI-Befehl:

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-UI

Sie können Webserver-Plug-ins deaktivieren, ohne sie zu löschen. Weitere Informationen Weitere Informationen finden Sie unter Webserver-Plug-ins deaktivieren.

Ein neu hochgeladenes Plug-in wird in der Airflow-UI nicht angezeigt

Wenn Sie die Airflow-UI-Zugriffssteuerung verwenden, wird die neue Das hochgeladene Plug-in ist in der Airflow-UI möglicherweise nicht 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