Auf dieser Seite wird das Repository beschrieben, in dem der gepatchte Apache Airflow-Code gespeichert wird, der in Cloud Composer verwendet wird.
Das Repository
Das Composer-Airflow-Repository ist ein schreibgeschütztes Repository, das den gepatchten Apache Airflow-Code enthält, der in Cloud Composer ausgeführt wird.
Eine bestimmte Version von Apache Airflow, die in Cloud Composer gefunden wird, ist nicht immer genau die entsprechende Version in Airflow, da Cloud Composer eine Patchversion von Airflow verwendet. Dieses Repository enthält den Code für jede Patchversion von Airflow, die in Cloud Composer verwendet wird. Informationen zu den Versionen von Airflow finden Sie in der Liste der Cloud Composer-Versionen.
Beiträge
Dieser Code ist keine Verzweigung von Apache Airflow. Der in diesem Repository gefundene Code stammt direkt aus dem Apache Airflow-Repository, jedoch zu einer anderen Zeitachse als normale Apache Airflow-Releases.
Wenn Sie zu dieser Codebasis beitragen möchten, tragen Sie stattdessen direkt zu Airflow bei. Tun Sie dies nicht in diesem Repository, da dort keine Pull-Requests akzeptiert werden.
Probleme und Support
- Wenn Sie ein Problem mit dem Code in diesem Repository haben, können Sie direkt im Airflow-Repository ein Problem erstellen.
- Wenn Sie ein Problem mit Cloud Composer haben, verwenden Sie die Cloud Composer-Supportkanäle.
Im Repository navigieren
Das Repository hat einen Zweig für jede in Cloud Composer verfügbare Version von Airflow. Nicht alle Versionen von Airflow werden in Cloud Composer unterstützt. Welche Airflow-Versionen von einer bestimmten Cloud Composer-Version unterstützt werden, sehen Sie in der Liste der Cloud Composer-Versionen.
Beispiele für die Verwendung
In diesem Abschnitt finden Sie Nutzungsbeispiele für das Repository.
Wird dieses Commit aus dem Airflow-Repository in meiner Version von Cloud Composer ausgeführt?
Die SHA1s von Commits im Composer-Airflow-Repository entsprechen nicht den Commit-SHA1s im Upstream-Airflow-Repository. Eine Möglichkeit, nach einem bestimmten Commit zu suchen, besteht darin, nach der entsprechenden Commit-Nachricht zu suchen.
Es ist nicht möglich, mit der GitHub-Benutzeroberfläche Commit-Nachrichten in anderen Branches als dem Standardzweig zu suchen. Dies ist jedoch mithilfe der git
-Befehlszeile möglich. Wenn Sie in diesem Repository nach einem bestimmten Commit suchen möchten, muss git
installiert sein.
So suchen Sie mit der git
-Befehlszeile nach einer Commit-Nachricht:
Klonen Sie das Repository und wechseln Sie mit dem folgenden Befehl in das Repository-Verzeichnis:
git clone git@github.com:GoogleCloudPlatform/composer-airflow.git && \ cd composer-airflow
Suchen Sie nach der Commit-Nachricht:
git log --source --grep="COMMIT_MESSAGE" --all
Dabei gilt:
--source
zeigt den Zweig, in dem das Commit gefunden wird--grep
gibt die Nachricht an, nach der im Protokoll gesucht werden soll.--all
sucht in allen Branches
Der Zweig befindet sich neben dem Commit-Hash in der ersten Zeile jedes Ergebnisses. Wenn der Befehl ein Commit zurückgibt, bedeutet dies, dass es sich in Ihrer Cloud Composer-Version befindet. Wenn die Airflow-Version in Ihrer Umgebung später als die Branch-Version ist, wird der Commit in der Airflow-Version Ihrer Umgebung verwendet.
Wenn Sie beispielsweise nach der Commit-Nachricht Force explicit choice on GPL dependency
suchen möchten, lautet der Befehl:
git log --source --grep="Force explicit choice on GPL dependency" --all
Wenn ein übereinstimmender Commit vorhanden ist, sehen Ihre Ergebnisse in etwa so aus wie im folgenden Beispiel. Es kann mehrere Ergebnisse geben.
commit 64ff1089e30e80b08bf5155edd9e49f5293ebbe4 refs/heads/<strong>1.10.2</strong>
Author: example_airflow_committer <example_airflow_committer@users.noreply.github.com>
Date: Wed Aug 1 11:25:31 2018 +0200
[AIRFLOW-2817] Force explicit choice on GPL dependency (#3660)
By default one of Apache Airflow's dependencies pulls in a GPL
library. Airflow should not install (and upgrade) without an explicit choice.
This is part of the Apache requirements as we cannot depend on Category X
software.
(cherry picked from commit c37fc0b6ba19e3fe5656ae37cef9b59cef3c29e8)
Signed-off-by: Example Airflow Committer <example_airflow_committer@users.noreply.github.com>
(cherry picked from commit b39e4532d9d1086c60b31553d08972bcc68df641)
Signed-off-by: Example Airflow Committer <example_airflow_committer@users.noreply.github.com>
GitOrigin-RevId: cefcf4c61f64be3792cbfed509b82a9eb4cc47be
Wie sieht dieser Airflow-Operator in meiner Cloud Composer-Version aus?
Airflow-Operatoren und zugehöriger Code werden außerhalb von zentralen Airflow in PyPI-Paketen verpackt und freigegeben, die als Anbieterpakete bezeichnet werden.
Einige dieser Pakete werden standardmäßig in Cloud Composer installiert. In der Versionsliste finden Sie die Liste der Pakete für die Cloud Composer-Version Ihrer Umgebung.
GitHub-UI
So suchen Sie den Code für einen Operator in einer bestimmten Anbieterpaketversion:
Rufen Sie das Upstream-Airflow-Repository auf.
Geben Sie den Namen des Operators ein, nach dem Sie in der GitHub-Suchleiste suchen.
Wenn mehrere Dateien zurückgegeben werden, klicken Sie auf die Codedatei mit einem Pfad, der mit
airflow/providers
beginnt.Wenn Sie beispielsweise nach
GoogleCloudStorageCreateBucketOperator
suchen, wählen Sieairflow/providers/google/cloud/operators/gcs.py
aus.Klicken Sie auf die Zweigauswahl, um die Drop-down-Liste Branches/Tags wechseln zu öffnen.
Klicken Sie auf den Tab Tags.
Suchen Sie bei
providers
-Paketen nach dem Namen Ihres Anbieters und der Version, indem Sieproviders-PROVIDER_NAME/PROVIDER_VERSION
in die Suchleiste der Drop-down-Liste eingeben. Dabei istPROVIDER_NAME
der Name des Anbieters undPROVIDER_VERSION
der Name der gewünschten Version.Beispiel: Wenn Sie die Version
10.0.0
des Paketsapache-airflow-providers-google
sehen möchten, suchen Sie nachproviders-google/10.0.0
.Wenn Sie nach
backport-providers
-Paketen suchen, die in Airflow 1 verwendet werden, geben Sie in der Suchleiste der Drop-down-Listebackport-providers-PROVIDER_VERSION
ein.Beispiel: Wenn Sie die Version
2021.3.3
des Paketsapache-airflow-backport-providers-google
sehen möchten, suchen Sie nachbackport-providers-2021.3.3
.Klicken Sie auf das Ergebnis, das Ihrer Abfrage entspricht.
Der Code auf dem Bildschirm ist genau das, was in Ihrer Version dieses Operators ausgeführt wird. Sie können auch auf Verlauf klicken, um den Commit-Verlauf bis zu diesem Zeitpunkt aufzurufen.
Git-Befehlszeile
So suchen Sie den Code für einen Operator in einer bestimmten Anbieterpaketversion:
Klonen Sie das Upstream-Airflow-Repository.
Führen Sie für
providers
-Paketegit checkout providers-PROVIDER_NAME/PROVIDER_VERSION
aus. Dabei istPROVIDER_NAME
der Name des Anbieters undPROVIDER_VERSION
der Name der Version, nach der Sie suchen.Beispiel: Wenn Sie sich die Version
10.0.0
des Paketsapache-airflow-providers-google
ansehen möchten, führen Siegit checkout providers-google/10.0.0
aus.Führen Sie für
backport-providers
-Pakete, die in Airflow 1 verwendet werden,git checkout backport-providers-PROVIDER_VERSION
aus.Beispiel: Wenn Sie sich die Version
2021.3.3
des Paketsapache-airflow-backport-providers-google
ansehen möchten, führen Siegit checkout backport-providers-2021.3.3
aus.Wenn Sie den Dateipfad für den Operator nicht kennen, können Sie ihn mit dem Befehl
git grep
suchen. Im folgenden Beispiel wird gezeigt, wie nach GoogleCloudStorageCreateBucketOperator gesucht wird.git grep GoogleCloudStorageCreateBucketOperator
Die Ausgabe ist eine Liste von Dateien, in denen der String (in diesem Fall der Name des Betreibers) gefunden wird. Gehen Sie in dieser Liste zur entsprechenden Datei und prüfen Sie deren Inhalt weiter.
airflow/contrib/operators/gcs_operator.py:class GoogleCloudStorageCreateBucketOperator(BaseOperator): airflow/contrib/operators/gcs_operator.py: CreateBucket = GoogleCloudStorageCreateBucketOperator( airflow/contrib/operators/gcs_operator.py: super( GoogleCloudStorageCreateBucketOperator, self).__init__(*args, **kwargs) docs/code.rst:.. autoclass:: airflow.contrib.operators.gcs_operator.Google CloudStorageCreateBucketOperator docs/integration.rst:- :ref:`GoogleCloudStorageCreateBucketOperator` : Creates a new cloud storage bucket. docs/integration.rst:.. _GoogleCloudStorageCreateBucketOperator: docs/integration.rst:GoogleCloudStorageCreateBucketOperator docs/integration.rst:.. autoclass:: airflow.contrib.operators.gcs_operator .GoogleCloudStorageCreateBucketOperator tests/contrib/operators/test_gcs_operator.py:from airflow.contrib.operators.gcs_operator import GoogleCloudStorageCreateBucketOperator tests/contrib/operators/test_gcs_operator.py: operator = GoogleCloudStorageCreateBucketOperator(
Nächste Schritte
- Lokale Airflow-Umgebung mit dem CLI-Tool für die lokale Entwicklung in Cloud Composer ausführen