Repository del codice Airflow di Cloud Composer

Questa pagina descrive il repository che memorizza il codice di Apache Airflow patchato utilizzato in Cloud Composer.

Informazioni sul repository

Il repository Composer-Airflow è un repository di sola lettura che contiene il codice di Apache Airflow con patch in esecuzione in Cloud Composer.

Una determinata versione di Apache Airflow trovata in Cloud Composer non è sempre una corrispondenza esatta della versione corrispondente in Airflow a monte perché Cloud Composer utilizza una versione con patch di Airflow. Questo repository contiene il codice di ogni versione con patch di Airflow utilizzata in Cloud Composer. Per informazioni sulle versioni di Airflow disponibili in Cloud Composer, consulta l'elenco delle versioni di Cloud Composer.

Contributi

Questo codice non è un fork di Apache Airflow. Il codice trovato in questo repository proviene direttamente dal repository di Apache Airflow, ma con una tempistica diversa rispetto alle normali release di Apache Airflow.

Se vuoi contribuire a questo codice di base, contribuisci direttamente ad Airflow. Non farlo in questo repository perché le richieste pull non sono accettate.

Problemi e assistenza

Il repository ha un ramo per ogni versione di Airflow disponibile in Cloud Composer. Non tutte le versioni di Airflow sono supportate in Cloud Composer. Puoi vedere quali versioni di Airflow sono supportate da una determinata versione di Cloud Composer nell'elenco delle versioni di Cloud Composer.

Esempi di utilizzo

Questa sezione elenca esempi di utilizzo del repository.

Questo commit del repository Airflow è presente nella mia versione di Cloud Composer?

Gli SHA1 dei commit nel repository Composer-Airflow non corrispondono agli SHA1 dei commit nel repository Airflow a monte. Uno dei modi per cercare un commit specifico è cercare il messaggio di commit corrispondente.

Non è possibile utilizzare l'interfaccia utente di GitHub per cercare i messaggi dei commit in branch diversi dal branch predefinito, ma è possibile farlo utilizzando la CLI git. Per cercare un determinato commit in questo repository, devi avere git installato.

Per cercare un messaggio di commit utilizzando l'interfaccia a riga di comando git:

  1. Clona il repository e passa alla relativa directory utilizzando il seguente comando:

    git clone git@github.com:GoogleCloudPlatform/composer-airflow.git && \
    cd composer-airflow
    
  2. Cerca il messaggio di commit:

    git log --source --grep="COMMIT_MESSAGE" --all
    

    In questo comando:

    • --source mostra il ramo in cui è stato trovato il commit
    • --grep specifica il messaggio in cui deve essere eseguita la ricerca nel log
    • --all esegue ricerche in tutti i branch
  3. Il ramo si trova accanto all'hash del commit nella prima riga di ogni risultato. Se il comando restituisce un commit, significa che è presente nella tua versione di Cloud Composer. Inoltre, se la versione di Airflow nel tuo ambiente è successiva alla versione del ramo, il commit viene utilizzato nella versione di Airflow del tuo ambiente.

Ad esempio, se vuoi cercare il messaggio del commitForce explicit choice on GPL dependency, il comando sarà:

git log --source --grep="Force explicit choice on GPL dependency" --all

Se esiste un commit corrispondente, i risultati saranno simili all'esempio di output riportato di seguito. Potrebbero essere presenti più risultati.

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

Che aspetto ha questo operatore Airflow nella mia versione di Cloud Composer?

Gli operatori di Airflow e il codice aggiuntivo vengono pacchettizzati e rilasciati separatamente dall'Airflow principale nei pacchetti PyPI chiamati pacchetti del provider.

Alcuni di questi pacchetti sono installati per impostazione predefinita in Cloud Composer. Per sapere quale versione è installata nel tuo ambiente, controlla l'elenco dei pacchetti per la versione di Cloud Composer del tuo ambiente nell'elenco delle versioni.

Interfaccia utente di GitHub

Per esaminare il codice di un operatore in una determinata versione del pacchetto del fornitore:

  1. Vai al repo Airflow upstream.

  2. Inserisci il nome dell'operatore che stai cercando nella barra di ricerca di GitHub.

  3. Se viene restituito più di un file, fai clic sul file di codice con un percorso che inizia con airflow/providers.

    Ad esempio, se cerchi GoogleCloudStorageCreateBucketOperator, scegli airflow/providers/google/cloud/operators/gcs.py.

  4. Fai clic sul selettore di branch, che apre l'elenco a discesa Cambia branch/tag.

  5. Fai clic sulla scheda Tag.

  6. Per i pacchetti providers, cerca il nome del provider e la versione digitando providers-PROVIDER_NAME/PROVIDER_VERSION nella barra di ricerca dell'elenco a discesa, dove PROVIDER_NAME è il nome del provider e PROVIDER_VERSION è il nome della versione che stai cercando.

    Ad esempio, se vuoi vedere la versione 10.0.0 del apache-airflow-providers-google pacchetto, devi cercare providers-google/10.0.0.

  7. Per i pacchetti backport-providers, utilizzati in Airflow 1, cerca backport-providers-PROVIDER_VERSION nella barra di ricerca dell'elenco a discesa.

    Ad esempio, se vuoi vedere la versione 2021.3.3 del apache-airflow-backport-providers-google pacchetto, cerca backport-providers-2021.3.3.

  8. Fai clic sul risultato corrispondente alla tua query.

  9. Il codice sullo schermo è quello in esecuzione nella tua versione dell'operatore. Puoi anche fare clic su Cronologia per visualizzare la cronologia dei commit fino a questo punto.

Interfaccia a riga di comando git

Per esaminare il codice di un operatore in una determinata versione del pacchetto del fornitore:

  1. Clona il repository Airflow a monte.

  2. Per i pacchetti providers, esegui git checkout providers-PROVIDER_NAME/PROVIDER_VERSION, dove PROVIDER_NAME è il nome del provider e PROVIDER_VERSION è il nome della versione che stai cercando.

    Ad esempio, se vuoi visualizzare la versione 10.0.0 del pacchetto apache-airflow-providers-google, esegui git checkout providers-google/10.0.0.

  3. Per i pacchetti backport-providers, utilizzati in Airflow 1, esegui git checkout backport-providers-PROVIDER_VERSION.

    Ad esempio, se vuoi visualizzare la versione 2021.3.3 del pacchetto apache-airflow-backport-providers-google,esegui git checkout backport-providers-2021.3.3.

  4. Se non conosci il percorso del file dell'operatore, puoi cercarlo con il comando git grep. L'esempio seguente mostra come eseguire la ricerca di GoogleCloudStorageCreateBucketOperator.

    git grep GoogleCloudStorageCreateBucketOperator
    

    L'output è un elenco di file in cui è possibile trovare la stringa (in questo caso, il nome dell'operatore). Da questo elenco, vai al file ed esaminane ulteriormente i contenuti.

    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(
    

Passaggi successivi