Betreiber aus den Backport-Anbieterpaketen importieren

Auf dieser Seite wird erläutert, was Pakete des Airflow-Back-End-Anbieters sind und wie Sie sie in Ihren DAGs verwenden können.

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

Der Einfachheit halber konzentriert sich dieses Dokument nur auf Operatoren. Sie können alle anderen Inhalte aus einem Backport-Paket auf dieselbe Weise verwenden, wie sie für Operatoren angezeigt werden.

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

Bevor Apache Airflow das Konzept der Backport-Anbieter-Pakete eingeführt hat, waren die Operatoren ein zentraler Bestandteil von Airflow. Für den Abruf neuer Versionen von Operatoren benötigen Sie eine neuere Version von Airflow. Dies erforderte ein Upgrade Ihrer Cloud Composer-Umgebung auf eine neuere Version. Airflow 2 zieht von diesem Modell weg 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 enthält, z. B. Google. Wenn Sie Airflow 1.10* verwenden, können Sie von dieser Änderung profitieren und zurückportierte Versionen von Providerpaketen nutzen.

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 Backport-Paket in Ihrem DAG importieren, wie weiter unten auf dieser Seite beschrieben.

Informationen dazu, 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 die Umgebung und geben Sie die erforderliche Version an. Es wird nicht empfohlen, vorinstallierte Backport-Pakete herunterzustufen. Installieren Sie eine ältere Version nur, wenn Sie ein Problem mit einer späteren Version feststellen. Sie können vorinstallierte Backport-Pakete nicht deinstallieren, sondern nur die installierten Versionen.

Backport-Pakete installieren und aktualisieren

So installieren oder aktualisieren Sie ein Backport-Paket:

  1. Finden 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 paketübergreifende Paketabhängigkeiten. Dies sind zusätzliche Abhängigkeiten, die Sie möglicherweise benötigen, alle Features des Backport-Pakets zu verwenden.

    Wenn Sie beispielsweise SalesforceToGcsOperator aus apache-airflow-backport-providers-google verwenden möchten, benötigen Sie [salesforce]. Einrichten apache-airflow-backport-providers-google und geben Sie die[salesforce] Extra in denExtras und Version Feld hinzu.

Operatoren aus Backport-Provider-Paketen in DAGs importieren

Eine Liste der Inhalte in einem Backport-Paket finden Sie auf der Backport-Paketseite auf PyPI.org. Auf der Seite für apache-airflow-backport-providers-google sind 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 Arten von Inhalten, wie später erläutert.

Neue Operatoren importieren

Neue Operatoren sind in Airflow 1.10 nicht vorhanden.* Wenn Sie versuchen, einen solchen Operator ohne 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 zu diesem 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 jene, die bereits in Airflow 1.10 vorhanden sind.* Nach der Installation eines Backport-Operatorpakets können Sie zwei verschiedene Versionen eines Operators importieren. Eine Version ist mit Airflow gebündelt, die andere enthält einen verschobenen Operator. Wenn Sie einen umgezogenen Operator verwenden möchten, importieren Sie ihn mithilfe eines neuen Importpfads.

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 Backpack-Paket 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