Repository di codice Airflow di Managed Airflow

Questa pagina descrive il repository che archivia il codice Apache Airflow con patch utilizzato in Managed Airflow.

Informazioni sul repository

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

Una versione specifica di Apache Airflow presente in Managed Airflow non corrisponde sempre esattamente alla versione corrispondente in Airflow upstream perché Managed Airflow utilizza una versione di Airflow con patch. Questo repository contiene il codice per ogni versione di Airflow con patch utilizzata in Managed Airflow. Per informazioni sulle versioni di Airflow presenti in Managed Airflow, consulta l'elenco delle versioni di Managed Airflow.

Contributi

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

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

Problemi e assistenza

Il repository ha un ramo per ogni versione di Airflow disponibile in Managed Service for Apache Airflow. Non tutte le versioni di Airflow sono supportate in Managed Airflow. Puoi vedere quali versioni di Airflow sono supportate da una versione specifica di Managed Airflow nell' elenco delle versioni di Managed Airflow.

Esempi di utilizzo

Questa sezione elenca esempi di utilizzo del repository.

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

Gli SHA1 dei commit nel repository Composer-Airflow non corrispondono agli SHA1 dei commit nel repository Airflow upstream. 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 di commit in rami diversi dal ramo predefinito, ma è possibile farlo utilizzando l'interfaccia a riga di comando git. Per cercare un commit specifico in questo repository, devi aver installato git.

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

  1. Clona il repository e passa alla directory del repository 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 si trova il commit
    • --grep specifica il messaggio che deve essere cercato nel log
    • --all cerca in tutti i rami
  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 Managed Airflow. 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 di commit Force explicit choice on GPL dependency, il comando sarà:

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

Se esiste un commit corrispondente, allora i risultati saranno simili all'esempio di output riportato di seguito. Potrebbe esserci più di un risultato.

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 Managed Airflow?

Gli operatori Airflow e il codice di accompagnamento vengono pacchettizzati e rilasciati separatamente dal core di Airflow nei pacchetti PyPI denominati pacchetti del provider.

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

Interfaccia utente di GitHub

Per esaminare il codice di un operatore in una versione specifica del pacchetto del provider:

  1. Vai al repository 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 del ramo, che apre l'elenco a discesa Cambia rami/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 visualizzare la versione 10.0.0 del apache-airflow-providers-google pacchetto, cerca 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 visualizzare la versione 2021.3.3 del apache-airflow-backport-providers-google pacchetto, cerca backport-providers-2021.3.3.

  8. Fai clic sul risultato che corrisponde 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 versione specifica del pacchetto del provider:

  1. Clona il repository Airflow upstream.

  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 apache-airflow-providers-google pacchetto, 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 apache-airflow-backport-providers-google pacchetto,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 cercare GoogleCloudStorageCreateBucketOperator.

    git grep GoogleCloudStorageCreateBucketOperator
    

    L'output è un elenco di file in cui è possibile trovare la stringa (in questo caso, il nome dell'operatore). Dall'elenco, vai al file ed esamina 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