Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
En esta página se explica qué son los paquetes de proveedor de versiones anteriores de Airflow y cómo puedes usarlos en tus DAGs.
Los paquetes de proveedores de backend son versiones de Airflow 2 de operadores, transferencias, sensores, ganchos y secretos que se empaquetan como módulos de PyPI.
Para simplificar las cosas, este documento se centra únicamente en los operadores. Puedes usar el resto del contenido de un paquete de backend de la misma forma que se muestra en el caso de los operadores.
Los paquetes de proveedores de versiones anteriores resuelven un problema importante: puedes obtener nuevas funciones y actualizaciones de seguridad para operadores, transferencias, sensores y ganchos sin actualizar tu entorno de Airflow a una versión posterior. Por ejemplo, el paquete de proveedor de Google está disponible en Airflow 2. Puedes importar operadores de la versión con funciones antiguas de este paquete en tu entorno de Airflow 1.10.*.
Antes de que Apache Airflow introdujera el concepto de paquetes de proveedores de backend, los operadores eran una parte integral de Airflow. Para obtener nuevas versiones de los operadores, necesitabas una versión más reciente de Airflow. Para ello, era necesario actualizar tu entorno de Cloud Composer a una versión posterior. Airflow 2 abandona este modelo e introduce paquetes de proveedores. Un paquete de proveedor para Airflow 2 es un módulo de PyPI que contiene operadores, transferencias, sensores, hooks y secretos de un proveedor específico (por ejemplo, Google). Si usas Airflow 1.10.*, puedes aprovechar este cambio y usar versiones retrocompatibles de paquetes de proveedores.
Usar paquetes backport preinstalados
Algunos paquetes de versiones anteriores ya están instalados en las imágenes de Cloud Composer. No es necesario que instales estos paquetes de versiones anteriores en tu entorno. Solo tienes que asegurarte de importar operadores de un paquete de backend en el código de tu DAG, tal como se describe más adelante en esta página.
Para comprobar qué paquetes de versiones anteriores están disponibles en tu entorno, consulta la lista de paquetes de la imagen de Cloud Composer de tu entorno.
Cada paquete de backport preinstalado en tu entorno tiene una versión específica. Si quieres usar otra versión, actualiza tu entorno y especifica la versión que necesites. No recomendamos que se rebaje la versión de los paquetes de backport preinstalados. Instala una versión anterior solo si detectas un problema con una versión posterior. No puedes desinstalar paquetes retrocompatibles preinstalados, solo cambiar las versiones instaladas.
Instalar y actualizar paquetes de versiones anteriores
Para instalar o actualizar un paquete backport, sigue estos pasos:
Instala o actualiza el paquete como cualquier otro paquete de PyPI.
Si es necesario, instala las dependencias de paquetes entre proveedores. Estas son dependencias adicionales que puede que necesites para usar todas las funciones del paquete de backport.
Por ejemplo, para usar
SalesforceToGcsOperator
deapache-airflow-backport-providers-google
, necesitas el extra[salesforce]
. Instalarapache-airflow-backport-providers-google
y especificar el[salesforce]
extra en el campo Extras y versión.
Operadores de importación de paquetes de proveedores de backend en DAGs
Para ver una lista del contenido de un paquete de backport, ve a la página del paquete de backport en PyPI.org. Por ejemplo, la página de apache-airflow-backport-providers-google
muestra los operadores, las transferencias, los sensores, los hooks y los secretos de este paquete.
Los paquetes de proveedores de backend introducen operadores nuevos y movidos, así como otro contenido. Hay una diferencia entre estos dos tipos de contenido, como se explica más adelante.
Importar operadores nuevos
Los operadores nuevos son los que no existen en Airflow 1.10.*. Si intentas importar un operador de este tipo sin su paquete de backport, se producirá un error de importación.
Para usar los nuevos operadores de un paquete de versiones anteriores, impórtalos desde su paquete airflow.providers.*
correspondiente, tal como se describe en la página de este paquete de versiones anteriores en PyPI.org.
En el siguiente ejemplo se importan nuevos operadores del paquete apache-airflow-backport-providers-google
:
from airflow.providers.google.cloud.operators.bigquery_dts import (
BigQueryCreateDataTransferOperator,
BigQueryDeleteDataTransferConfigOperator,
)
Importar operadores movidos
Los operadores movidos son los que ya existen en Airflow 1.10.*. Después de instalar un paquete de operador de versiones anteriores, puedes importar dos versiones diferentes de un operador. Una versión se incluye con Airflow y otra es un operador movido. Para usar un operador movido, impórtalo con una nueva ruta de importación.
Para usar los operadores movidos de un paquete de backend, impórtalos desde un paquete airflow.contrib.*
correspondiente, tal como se describe en la página de este paquete de backend en PyPI.org.
En el siguiente ejemplo se importan operadores movidos del paquete apache-airflow-backport-providers-google
:
from airflow.contrib.operators.bigquery_operator import (
BigQueryCreateEmptyDatasetOperator,
BigQueryOperator,
)
Siguientes pasos
- Escribir DAGs
- Instalar paquetes de PyPI
- Lista de paquetes preinstalados en imágenes de Cloud Composer