Dépôt de code Airflow de Managed Airflow

Cette page décrit le dépôt qui stocke le code Apache Airflow corrigé utilisé dans Managed Airflow.

À propos du dépôt

Le dépôt Composer-Airflow est un dépôt en lecture seule qui contient le code Apache Airflow patché exécuté dans Managed Airflow.

Une version particulière d'Apache Airflow présente dans Managed Airflow ne correspond pas toujours exactement à la version correspondante dans la version amont d'Airflow, car Managed Airflow utilise une version modifiée d'Airflow. Ce dépôt contient le code de chaque version corrigée d'Airflow utilisée dans Managed Airflow. Pour en savoir plus sur les versions d'Airflow disponibles dans Managed Airflow, consultez la liste des versions de Managed Airflow.

Contribution

Ce code n'est pas une version dérivée de Apache Airflow. Le code contenu dans ce dépôt provient directement du dépôt Apache Airflow, mais selon une chronologie différente de celle des versions habituelles d'Apache Airflow.

Si vous souhaitez contribuer à ce code source, alors contribuez directement à Airflow à la place. Ne le faites pas dans ce dépôt, car les demandes d'extraction ne sont pas acceptées.

Problèmes et assistance

  • Si vous rencontrez un problème avec le code trouvé dans ce dépôt, vous pouvez créer un problème directement dans le dépôt Airflow.
  • Si vous rencontrez un problème avec Managed Airflow, veuillez utiliser les canaux de support Managed Airflow.

Le dépôt comporte une branche pour chaque version d'Airflow disponible dans Managed Service pour Apache Airflow. Toutes les versions d'Airflow ne sont pas prises en charge par Managed Airflow. Vous pouvez voir quelles versions d'Airflow sont prises en charge par une version particulière de Managed Airflow dans la liste Managed Airflow versions.

Exemples d'utilisation

Cette section répertorie des exemples d'utilisation du dépôt.

Ce commit provient-il du dépôt Airflow de ma version de Managed Airflow ?

Les SHA1 des commits dans le dépôt Composer-Airflow ne correspondent pas aux SHA1 des commits dans le dépôt Airflow en amont. L'une des méthodes pour rechercher un commit spécifique consiste à rechercher le message de commit correspondant.

Il n'est pas possible d'utiliser l'interface utilisateur GitHub pour effectuer une recherche dans les messages de commit dans des branches autres que la branche par défaut. Toutefois, cela est possible à l'aide de la CLI git. Pour rechercher un commit particulier dans ce dépôt, vous devez avoir installé git.

Pour rechercher un message de commit à l'aide de l'CLI git :

  1. Clonez le dépôt et accédez au répertoire du dépôt à l'aide de la commande suivante :

    git clone git@github.com:GoogleCloudPlatform/composer-airflow.git && \
    cd composer-airflow
    
  2. Recherchez le message de commit :

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

    Dans cette commande :

    • --source indique la branche où se trouve le commit.
    • --grep spécifie le message qui doit être recherché dans le journal
    • --all recherche dans toutes les branches
  3. La branche se trouve à côté du hachage de commit sur la première ligne de chaque résultat. Si la commande renvoie un commit, cela signifie qu'il est inclus dans votre version de Managed Airflow. En outre, si la version d'Airflow de votre environnement est ultérieure à la version de la branche, le commit est utilisé dans la version d'Airflow de votre environnement.

Par exemple, si vous souhaitez rechercher le message de commit Force explicit choice on GPL dependency, votre commande est la suivante :

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

S'il existe un commit correspondant, alors vos résultats ressembleraient à l'exemple de sortie suivant. Il peut y avoir plus d'un résultat.

commit 64ff1089e30e80b08bf5155edd9e49f5293ebbe4 refs/heads/1.10.2
Author: example_airflow_committer 
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  
    (cherry picked from commit b39e4532d9d1086c60b31553d08972bcc68df641)
    Signed-off-by: Example Airflow Committer  
    GitOrigin-RevId: cefcf4c61f64be3792cbfed509b82a9eb4cc47be

À quoi ressemble cet opérateur Airflow dans ma version de Managed Airflow ?

Les opérateurs Airflow et le code associé sont empaquetés et publiés séparément du noyau Airflow dans des packages PyPI appelés packages de fournisseur.

Certains de ces packages sont installés par défaut dans Managed Airflow. Pour savoir quelle version est installée dans votre environnement, consultez la liste des packages pour la version de Managed Airflow de votre environnement dans la liste versions.

UI GitHub

Pour examiner le code d'un opérateur dans une version spécifique du package de fournisseur :

  1. Accédez au dépôt Airflow en amont.

  2. Saisissez le nom de l'opérateur que vous recherchez dans la barre de recherche GitHub.

  3. Si plusieurs fichiers sont renvoyés, cliquez sur le fichier de code dont le chemin commence par airflow/providers.

    Par exemple, si vous recherchez la valeur GoogleCloudStorageCreateBucketOperator, choisissez airflow/providers/google/cloud/operators/gcs.py.

  4. Cliquez sur le sélecteur de branche pour ouvrir la liste déroulante Changer de branche/tags.

  5. Cliquez sur l'onglet Tags.

  6. Pour les packages providers, recherchez le nom de votre fournisseur et la version en saisissant providers-PROVIDER_NAME/PROVIDER_VERSION dans la barre de recherche de la liste déroulante, où PROVIDER_NAME est le nom du fournisseur et PROVIDER_VERSION est le nom de la version que vous recherchez.

    Par exemple, si vous souhaitez afficher la version 10.0.0 du package apache-airflow-providers-google, vous devez rechercher providers-google/10.0.0.

  7. Pour les packages backport-providers, qui sont utilisés dans Airflow 1, recherchez backport-providers-PROVIDER_VERSION dans la barre de recherche de la liste déroulante.

    Par exemple, si vous souhaitez afficher la version 2021.3.3 du package apache-airflow-backport-providers-google, recherchez backport-providers-2021.3.3.

  8. Cliquez sur le résultat correspondant à votre requête.

  9. Le code à l'écran est ce qui s'exécute dans votre version de cet opérateur. Vous pouvez également cliquer sur Historique pour afficher l'historique des commits jusqu'à ce point.

CLI git

Pour examiner le code d'un opérateur dans une version spécifique du package de fournisseur :

  1. Clonez le dépôt Airflow en amont.

  2. Pour les packages providers, exécutez git checkout providers-PROVIDER_NAME/PROVIDER_VERSION, où PROVIDER_NAME est le nom du fournisseur et PROVIDER_VERSION est le nom de la version que vous recherchez.

    Par exemple, si vous souhaitez afficher la version 10.0.0 du package apache-airflow-providers-google, exécutez git checkout providers-google/10.0.0.

  3. Pour les packages backport-providers, qui sont utilisés dans Airflow 1, exécutez git checkout backport-providers-PROVIDER_VERSION.

    Par exemple, si vous souhaitez afficher la version 2021.3.3 du package apache-airflow-backport-providers-google,exécutez git checkout backport-providers-2021.3.3.

  4. Si vous ne connaissez pas le chemin d'accès à l'opérateur, vous pouvez le rechercher à l'aide de la commande git grep. L'exemple suivant montre comment rechercher GoogleCloudStorageCreateBucketOperator.

    git grep GoogleCloudStorageCreateBucketOperator
    

    Le résultat est une liste de fichiers dans lesquels se trouve la chaîne (dans ce cas, le nom de l'opérateur). Depuis cette liste, accédez au fichier et examinez son contenu plus en détail.

    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(
    

Étapes suivantes

  • Exécutez un environnement Airflow local avec l'outil CLI de développement local Composer