Operatoren aus Backport-Anbieterpaketen importieren

Cloud Composer 1 Cloud Composer 2

Auf dieser Seite wird erläutert, was Airflow-Backport-Anbieterpakete sind und wie Sie sie in Ihren DAGs verwenden können.

Backport-Anbieterpakete sind Airflow-2-Versionen von Operatoren, Übertragungen, Sensoren, Hooks und Secrets, die als PyPI-Module verpackt sind.

Zur Vereinfachung werden in diesem Dokument nur Operatoren behandelt. Sie können alle anderen Inhalte aus einem Backport-Paket auf die gleiche Weise verwenden, wie für Operatoren gezeigt.

Backport-Anbieterpakete lösen ein wichtiges Problem aus: Sie können neue Features und Sicherheitsupdates für Operatoren, Übertragungen, Sensoren und Hooks erhalten, ohne Ihre Airflow-Umgebung auf eine neuere Version zu aktualisieren. Beispielsweise ist das Anbieterpaket für Google in Airflow 2 verfügbar. Sie können Operatoren aus der rückportierten Version dieses Pakets in Ihrer Airflow 1.10.*-Umgebung importieren.

Bevor Apache Airflow das Konzept von Backport-Anbieterpaketen eingeführt hat, waren Operatoren ein wesentlicher Bestandteil von Airflow. Zum Abrufen neuer Versionen von Operatoren benötigen Sie eine neuere Version von Airflow. Dazu mussten Sie Ihre Cloud Composer-Umgebung auf eine neuere Version aktualisieren. Airflow 2 entfernt sich von diesem Modell und führt Anbieterpakete ein. Ein Anbieterpaket für Airflow 2 ist ein PyPI-Modul, das Operatoren, Übertragungen, Sensoren, Hooks und Secrets für einen bestimmten Anbieter (z. B. Google) enthält. Wenn Sie Airflow 1.10.* verwenden, können Sie von dieser Änderung profitieren und zurückportierte Versionen von Anbieterpaketen verwenden.

Vorinstallierte Backport-Pakete verwenden

Einige Backport-Pakete sind bereits in Cloud Composer-Images installiert. Sie müssen diese Backport-Pakete nicht in Ihrer Umgebung installieren. Achten Sie darauf, dass Sie Operatoren aus einem Rückportpaket in Ihren DAG-Code importieren, wie später auf dieser Seite beschrieben.

Informationen zum Prüfen, welche Backport-Pakete in Ihrer Umgebung verfügbar sind, finden Sie in der Liste der Pakete im Cloud Composer-Image für Ihre Umgebung.

Jedes vorinstallierte Backport-Paket in Ihrer Umgebung hat eine bestimmte Version. Wenn Sie eine andere Version verwenden möchten, aktualisieren Sie Ihre Umgebung und geben Sie die erforderliche Version an. Wir empfehlen, vorinstallierte Backport-Pakete nicht herabzustufen. Installieren Sie eine frühere Version nur, wenn Sie ein Problem mit einer späteren Version entdecken. Sie können vorinstallierte Backport-Pakete nicht deinstallieren, sondern nur die installierten Versionen ändern.

Backport-Pakete installieren und aktualisieren

So installieren oder aktualisieren Sie ein Backport-Paket:

  1. Ermitteln Sie das erforderliche Backport-Paket auf PyPI.org.

  2. Installieren oder aktualisieren Sie das Paket wie jedes andere PyPI-Paket.

  3. Installieren Sie bei Bedarf die Abhängigkeiten des anbieterübergreifenden Pakets. Dies sind zusätzliche Abhängigkeiten, die Sie möglicherweise zur Verwendung aller Funktionen des Backport-Pakets benötigen.

    Wenn Sie beispielsweise SalesforceToGcsOperator aus apache-airflow-backport-providers-google verwenden möchten, benötigen Sie die zusätzliche [salesforce]. Installieren Sie apache-airflow-backport-providers-google und geben Sie den zusätzlichen [salesforce] im Feld Extras und Version an.

Operatoren aus Backport-Anbieterpaketen in DAGs importieren

Eine Liste der Inhalte in einem Backport-Paket finden Sie auf der Seite des Backport-Pakets unter PyPI.org. Auf der Seite für apache-airflow-backport-providers-google werden beispielsweise Operatoren, Übertragungen, Sensoren, Hooks und Secrets für dieses Paket aufgeführt.

Backport-Anbieterpakete führen neue und verschobene Operatoren und andere Inhalte ein. Es gibt einen Unterschied zwischen diesen beiden Inhaltstypen, wie später erläutert wird.

Neue Operatoren importieren

Neue Operatoren sind solche, die nicht in Airflow 1.10 vorhanden sind.* Wenn Sie versuchen, einen solchen Operator ohne das Backport-Paket zu importieren, erhalten Sie einen Importfehler.

Wenn Sie neue Operatoren aus einem Backport-Paket verwenden möchten, importieren Sie sie aus dem entsprechenden airflow.providers.*-Paket, wie auf der Seite für dieses Backport-Paket auf PyPI.org beschrieben.

Im folgenden Beispiel werden neue Operatoren aus dem Paket apache-airflow-backport-providers-google importiert:

from airflow.providers.google.cloud.operators.bigquery_dts import (
    BigQueryCreateDataTransferOperator,
    BigQueryDeleteDataTransferConfigOperator,
    )

Verschobene Operatoren importieren

Verschobene Operatoren sind bereits in Airflow 1.10 vorhanden.* Nachdem Sie ein Backport-Operatorpaket installiert haben, können Sie zwei verschiedene Versionen eines Operators importieren. Eine Version ist mit Airflow gebündelt, eine andere ist ein verschobener Operator. Wenn Sie einen verschobenen Operator verwenden möchten, importieren Sie ihn mit einem neuen Importpfad.

Wenn Sie verschobene Operatoren aus einem Backport-Paket verwenden möchten, importieren Sie sie aus einem entsprechenden airflow.contrib.*-Paket, wie auf der Seite für dieses Rückportpaket auf PyPI.org beschrieben.

Im folgenden Beispiel werden verschobene Operatoren aus dem Paket apache-airflow-backport-providers-google importiert:

from airflow.contrib.operators.bigquery_operator import (
    BigQueryCreateEmptyDatasetOperator,
    BigQueryOperator,
    )

Nächste Schritte