Repositorio de Composer de Airflow

Acerca del repositorio

El repositorio de Composer de Airflow es un repositorio de solo lectura que contiene el código de Apache Airflow con parches que se ejecuta en Cloud Composer. Se puede usar como referencia y para pruebas y desarrollo locales.

Una versión particular de Apache Airflow que se encuentra en Cloud Composer no siempre es una coincidencia exacta de la versión correspondiente en Airflow ascendente porque Cloud Composer usa una versión con parche de Airflow. Este repositorio contiene el código para cada versión con parche de Airflow que se usa en Cloud Composer. Para obtener información sobre qué versiones de Airflow se encuentran en Cloud Composer, consulta la lista de versiones de Cloud Composer.

Contribuyendo

Este código no es una bifurcación de Apache Airflow: el código que se encuentra en este repositorio proviene directamente del repositorio de Apache Airflow, pero en un cronograma diferente al de las versiones normales de Apache Airflow. Si deseas contribuir a esta base de código, no lo hagas aquí. Las solicitudes de extracción no se aceptan en este repositorio y, en su lugar, se contribuyen a Airflow.

Problemas + Asistencia

Si tienes problemas con el código que se encuentra en este repositorio, sigue las instrucciones para informar errores de Airflow. Si tienes problemas con Cloud Composer, usa los canales de asistencia de Cloud Composer.

El repositorio tiene una rama para cada versión de Airflow disponible en Cloud Composer. No todas las versiones de Airflow son compatibles con Cloud Composer. Para obtener más información sobre la compatibilidad con versiones, consulta Control de versiones de Cloud Composer.

Casos de uso

¿Esta confirmación es del repositorio de Airflow en mi versión de Cloud Composer?

La confirmación de SHA1 en el repositorio composer-airflow no corresponde a la confirmación de SHA1 en el repositorio de Airflow ascendente, lo que significa que la forma más fácil de buscar una confirmación específica es mediante la búsqueda del mensaje de confirmación correspondiente.

Por el momento, no es posible usar la IU de GitHub para buscar mensajes de confirmación en ramas que no sean la rama predeterminada; sin embargo, es posible hacerlo con la CLI de git. Para buscar una confirmación en particular en este repositorio, debes tener git instalado.

  1. Clona el repositorio y cambia al directorio del repositorio mediante el siguiente comando:
    git clone git@github.com:GoogleCloudPlatform/composer-airflow.git && cd composer-airflow
  2. Busca el mensaje de confirmación:

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

    Donde:

    • --source muestra la rama en la que se encuentra la confirmación
    • --grep le indica a git qué mensaje debe buscar en el registro
    • --all le dice a git que busque todas las ramas
  3. La rama se encuentra junto al hash de confirmación en la primera línea de cada resultado. Si el comando muestra una confirmación, esto significa que está en tu versión de Cloud Composer. Además, si la versión de Airflow en tu entorno es posterior a la versión de rama, la confirmación se usa en la versión de Airflow de tu entorno.

Por ejemplo, si deseas buscar el mensaje de confirmación “Forzar la elección explícita en la dependencia de GPL”, el comando sería el siguiente:

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

Si hay una confirmación coincidente, los resultados se verían de la siguiente manera (puede haber más de un resultado).

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

¿Cómo se ve este operador en mi versión de Composer?

Si no usas los paquetes providers

Si conoces la ruta de acceso de un operador en particular, por ejemplo, GoogleCloudStorageCreateBucketOperator, navega a ella con la IU de GitHub o la CLI.

Si no conoces su ruta de acceso al archivo, puedes buscarla con el siguiente comando:

    git grep GoogleCloudStorageCreateBucketOperator

El resultado es una lista de archivos en los que se puede encontrar la string (en este caso, el nombre del operador). En esa lista, navega al archivo correspondiente y examina su contenido.

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 usas los paquetes providers

A partir de ciertas versiones de Airflow 1.10.x, ciertos operadores y el código que los acompaña se empaquetan y lanzan por separado de Airflow principal en paquetes de PyPI llamados “paquetes de proveedores de portabilidad a versiones anteriores” (Airflow 1.10.x) o “paquetes del proveedor” (Airflow 2.0 y versiones posteriores). Consulta la documentación del proveedor de portabilidad a versiones anteriores de Cloud Composer para obtener más información.

Algunas versiones de estos paquetes están instaladas de forma predeterminada en Cloud Composer. Para saber qué versión está instalada en tu entorno, comprueba la columna "PyPI packages for Python 3" de la lista de versiones.

Para ver el código de un operador en una versión particular, haz lo siguiente:

IU de GitHub

  1. Ve al repositorio de Airflow ascendente.
  2. Ingresa el nombre del operador específico que buscas en la barra de búsqueda de GitHub en la parte superior de la página.
  3. Si se muestra más de un archivo, haz clic en el archivo de código con una ruta de acceso que comienza con airflow/providers. Por ejemplo, si buscas GoogleCloudStorageCreateBucketOperator, elige airflow/providers/google/cloud/operators/gcs.py.
  4. Haz clic en el selector de rama, que abre la lista desplegable “Cambiar ramas o etiquetas”.
  5. Haz clic en la pestaña “Etiquetas”.
  6. Para los paquetes providers, escribe el nombre de tu proveedor y la versión.
    providers-PROVIDER_NAME/PROVIDER_VERSION
    En la barra de búsqueda de la lista desplegable, PROVIDER_NAME es el nombre del proveedor y PROVIDER_VERSION es el nombre de la versión que buscas. Por ejemplo, si deseas ver la versión 4.0.0 del paquete apache-airflow-providers-google, debes buscar providers-google/4.0.0.
  7. En el caso de los paquetes backport-providers, busca
    backport-providers-PROVIDER_VERSION
    en la barra de búsqueda de la lista desplegable. Por ejemplo, si deseas ver la versión 2021.3.3 del paquete apache-airflow-backport-providers-google, debes buscar backport-providers-2021.3.3.
  8. Haz clic en el resultado que coincida con tu consulta.
  9. El código en pantalla es exactamente lo que se ejecuta en tu versión de ese operador. También puedes hacer clic en Historial para ver el historial de confirmaciones hasta este punto.

CLI de git

  1. Clona el repositorio de Airflow ascendente.
  2. En paquetes providers, ejecuta la siguiente acción:
    git checkout providers-PROVIDER_NAME/PROVIDER_VERSION
    En el ejemplo anterior, PROVIDER_NAME es el nombre del proveedor y PROVIDER_VERSION es el nombre de la versión que buscas. Por ejemplo, si deseas ver la versión 4.0.0 del paquete apache-airflow-providers-google, debes ejecutar git checkout providers-google/4.0.0.
  3. En paquetes backport-providers, ejecuta la siguiente acción:
    git checkout backport-providers-PROVIDER_VERSION
    en la barra de búsqueda de la lista desplegable. Por ejemplo, si deseas ver la versión 2021.3.3 del paquete apache-airflow-backport-providers-google, debes ejecutar git checkout backport-providers-2021.3.3.

Luego, sigue las instrucciones que se indican en Si no usas los paquetes providers.