En esta página, se describe el repositorio que almacena el código de Apache Airflow con parches que se usa en Cloud Composer.
Información 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.
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, contribuye directamente a Airflow. No lo hagas en este repositorio porque no se aceptan solicitudes de extracción en él.
Problemas y asistencia
- Si tienes problemas con el código que se encuentra en este repositorio, puedes crear un problema directamente en el repositorio de Airflow.
- Si tienes problemas con Cloud Composer, usa los canales de asistencia de Cloud Composer.
Cómo navegar por el repositorio
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. Puedes ver qué versiones de Airflow son compatibles con una versión particular de Cloud Composer en la lista de versiones de Cloud Composer.
Ejemplos de uso
En esta sección, se enumeran ejemplos de uso del repositorio.
¿Esta confirmación es del repositorio de Airflow en mi versión de Cloud Composer?
Los SHA1 de las confirmaciones en el repositorio de Composer-Airflow no corresponden a los SHA1 de las confirmaciones en el repositorio de Airflow ascendente. Una de las formas de buscar una confirmación específica es buscar el mensaje de confirmación correspondiente.
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.
Para buscar un mensaje de confirmación con la CLI de git
, sigue estos pasos:
Clona el repositorio y cambia al directorio del repositorio con el siguiente comando:
git clone git@github.com:GoogleCloudPlatform/composer-airflow.git && \ cd composer-airflow
Busca el mensaje de confirmación:
git log --source --grep="COMMIT_MESSAGE" --all
En este comando, la siguiente instrucción:
--source
muestra la rama en la que se encuentra la confirmación--grep
especifica el mensaje que se debe buscar en el registro--all
busca en todas las ramas
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 Force explicit choice on GPL dependency
, 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 como en el siguiente ejemplo de salida. 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 de Airflow en mi versión de Cloud Composer?
Los operadores de Airflow 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.
Algunos de estos paquetes están instalados de forma predeterminada en Cloud Composer. Para saber qué versión está instalada en tu entorno, verifica la lista de paquetes de la versión de Cloud Composer de tu entorno en la lista de versiones.
IU de GitHub
Para ver el código de un operador en una versión particular del paquete de un proveedor, haz lo siguiente:
Ingresa el nombre del operador que buscas en la barra de búsqueda de GitHub.
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
, eligeairflow/providers/google/cloud/operators/gcs.py
.Haz clic en el selector de rama, que abre la lista desplegable Cambiar ramas o etiquetas.
Haz clic en la pestaña Etiquetas.
Para los paquetes
providers
, escribeproviders-PROVIDER_NAME/PROVIDER_VERSION
en la barra de búsqueda de la lista desplegable para buscar el nombre de tu proveedor y la versión, dondePROVIDER_NAME
es el nombre del proveedor yPROVIDER_VERSION
es el nombre de la versión que buscas.Por ejemplo, si deseas ver la versión
10.0.0
del paqueteapache-airflow-providers-google
, debes buscarproviders-google/10.0.0
.En el caso de los paquetes
backport-providers
, que se usan en Airflow 1, buscabackport-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 paqueteapache-airflow-backport-providers-google
, debes buscarbackport-providers-2021.3.3
.Haz clic en el resultado que coincida con tu búsqueda.
El código en pantalla es 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
Para ver el código de un operador en una versión particular del paquete de un proveedor, haz lo siguiente:
Clona el repositorio de Airflow ascendente.
Para los paquetes
providers
, ejecutagit checkout providers-PROVIDER_NAME/PROVIDER_VERSION
, en el quePROVIDER_NAME
es el nombre del proveedor yPROVIDER_VERSION
es el nombre de la versión que buscas.Por ejemplo, si deseas ver la versión
10.0.0
del paqueteapache-airflow-providers-google
, debes ejecutargit checkout providers-google/10.0.0
.En el caso de los paquetes
backport-providers
, que se usan en Airflow 1, ejecutagit checkout backport-providers-PROVIDER_VERSION
.Por ejemplo, si deseas ver la versión
2021.3.3
del paqueteapache-airflow-backport-providers-google
,debes ejecutargit checkout backport-providers-2021.3.3
.Si no conoces la ruta de acceso al archivo del operador, puedes buscarla con el comando
git grep
. En el siguiente ejemplo, se muestra cómo buscar GoogleCloudStorageCreateBucketOperator.git grep GoogleCloudStorageCreateBucketOperator
El resultado es una lista de archivos en los que se puede encontrar la cadena (en este caso, el nombre del operador). En esa lista, navega al archivo 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.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(
¿Qué sigue?
- Ejecuta un entorno de Airflow local con la herramienta de CLI de desarrollo local de Composer.