Dépôt Composer-Airflow

À propos du dépôt

Le dépôt Composer-Airflow est un dépôt en lecture seule contenant le code Apache Airflow corrigé qui s'exécute dans Cloud Composer. Elle peut être utilisée à la fois comme référence pour les tests et le développement en local.

Une version particulière d'Apache Airflow trouvée dans Cloud Composer n'est pas toujours une correspondance exacte de la version correspondante en amont, car Cloud Composer utilise une version corrigée d'Airflow. Ce dépôt contient le code de chaque version corrigée d'Airflow utilisée dans Cloud Composer. Pour en savoir plus sur les versions d'Airflow disponibles dans Cloud Composer, consultez la page Liste des versions Cloud Composer.

Contribution

Ce code n'est pas une copie d'Apache Airflow. Le code trouvé dans ce dépôt provient directement du dépôt Apache Airflow. Il est issu d'une chronologie différente de celle des versions normales d'Apache Airflow. Si vous souhaitez participer à ce codebase, veuillez ne pas le faire ici. Les demandes d'extraction ne sont pas acceptées dans ce dépôt et doivent être contribuées directement à Airflow.

Problèmes + Assistance

Si vous rencontrez un problème avec le code trouvé dans ce dépôt, veuillez suivre les instructions de signalement de bug d'Airflow. Si vous rencontrez un problème avec Cloud Composer, veuillez utiliser les canaux d'assistance Cloud Composer.

Le dépôt dispose d'une branche pour chaque version d'Airflow disponible dans Cloud Composer. Les versions d'Airflow ne sont pas toutes compatibles avec Cloud Composer. Pour en savoir plus sur les versions compatibles, reportez-vous à la section Gestion des versions Cloud Composer.

Cas d'utilisation

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

Les commits SHA1 du dépôt composer-airflow ne correspondent pas aux commits SHA1 du dépôt Airflow en amont. Par conséquent, le moyen le plus simple de rechercher un commit spécifique consiste à rechercher le message de commit correspondant.

Actuellement, 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.

  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

    où :

    • --source indique la branche où se trouve le commit.
    • --grep indique à git le message à rechercher dans le journal.
    • --all indique à git d'effectuer une recherche dans toutes les branches.
  3. La branche est située à côté du hachage de commit sur la première ligne de chaque résultat. Si la commande renvoie un commit, cela signifie qu'elle se trouve dans votre version de Cloud Composer. 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 "Forcer le choix explicite sur la dépendance GPL", votre commande est la suivante :

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

Et s'il existe un commit correspondant, vos résultats ressemblent à ceci (il peut y avoir plusieurs résultats).

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

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

Si vous n'utilisez pas les packages providers

Si vous connaissez le chemin d'accès à un opérateur spécifique, par exemple GoogleCloudStorageCreateBucketOperator, accédez-y à l'aide de l'interface utilisateur GitHub ou de la CLI.

Si vous ne connaissez pas le chemin d'accès au fichier, vous pouvez le rechercher à l'aide de la commande suivante :

    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 approprié 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.GoogleCloudStorageCreateBucketOperator
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(

Si vous utilisez les packages providers

À partir de certaines versions d'Airflow 1.10.x, certains opérateurs et codes associés sont empaquetés et publiés séparément d'Airflow dans les packages PyPI, appelés "packages de fournisseur de rétroportage" (Airflow 1.10.x) ou "packages fournisseur" (Airflow 2.0 et versions ultérieures). Pour en savoir plus sur les fournisseurs de rétroportage dans Cloud Composer, consultez la documentation sur les fournisseurs de rétroportage Cloud Composer.

Certaines versions de ces packages sont installées par défaut dans Cloud Composer. Pour savoir quelle version est installée dans votre environnement, consultez la colonne "Packages PyPI pour Python 3" dans la liste des versions.

Pour examiner le code d'un opérateur dans une version spécifique, procédez comme suit :

UI GitHub

  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 située en haut de la page.
  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 4.0.0 du package apache-airflow-providers-google, vous devez rechercher providers-google/4.0.0.
  7. Pour les packages backport-providers, 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, vous devez rechercher backport-providers-2021.3.3.
  8. Cliquez sur le résultat correspondant à votre requête.
  9. Le code à l'écran est exactement 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

  1. Clonez le dépôt Airflow en amont.
  2. Pour les packages providers, exécutez la commande suivante :
    git checkout providers-PROVIDER_NAME/PROVIDER_VERSION
    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 4.0.0 du package apache-airflow-providers-google, exécutez git checkout providers-google/4.0.0.
  3. Pour les packages backport-providers, exécutez la commande
    git checkout 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, exécutez git checkout backport-providers-2021.3.3.

Suivez les instructions de la section Si vous n'utilisez pas les packages providers.