Importe operadores de pacotes de fornecedores de backport

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Esta página explica o que são os pacotes de fornecedores de backport do Airflow e como os pode usar nos seus DAGs.

Os pacotes de fornecedores de backport são versões do Airflow 2 de operadores, transferências, sensores, hooks e segredos que são incluídos como módulos PyPI.

Para simplificar, este documento foca-se apenas nos operadores. Pode usar todo o outro conteúdo de um pacote de backport da mesma forma que é apresentado para os operadores.

Os pacotes de fornecedores de backport resolvem um problema importante: pode obter novas funcionalidades e atualizações de segurança para operadores, transferências, sensores e hooks sem atualizar o seu ambiente do Airflow para uma versão posterior. Por exemplo, o pacote de fornecedores para a Google está disponível no Airflow 2. Pode importar operadores da versão com backporting deste pacote no seu ambiente do Airflow 1.10.*.

Antes de o Apache Airflow introduzir o conceito de pacotes de fornecedores de backport, os operadores eram parte integrante do Airflow. Para obter novas versões de operadores, precisava de uma versão mais recente do Airflow. Isto exigiu a atualização do seu ambiente do Cloud Composer para uma versão posterior. O Airflow 2 afasta-se deste modelo e introduz pacotes de fornecedores. Um pacote de fornecedor para o Airflow 2 é um módulo PyPI que contém operadores, transferências, sensores, hooks e segredos para um fornecedor específico (por exemplo, a Google). Se usar o Airflow 1.10.*, pode tirar partido desta alteração e usar versões com backport dos pacotes de fornecedores.

Use pacotes de backport pré-instalados

Alguns pacotes de backport já estão instalados nas imagens do Cloud Composer. Não precisa de instalar estes pacotes de backport no seu ambiente. Certifique-se de que importa operadores de um pacote de backport no código do DAG, conforme descrito mais adiante nesta página.

Para verificar que pacotes de backport estão disponíveis no seu ambiente, consulte a lista de pacotes na imagem do Cloud Composer para o seu ambiente.

Cada pacote de backport pré-instalado no seu ambiente tem uma versão específica. Se quiser usar uma versão diferente, atualize o seu ambiente e especifique a versão necessária. Não recomendamos que faça o downgrade de pacotes de backport pré-instalados. Instale uma versão anterior apenas se descobrir um problema com uma versão mais recente. Não é possível desinstalar pacotes de backport pré-instalados, apenas alterar as versões instaladas.

Instale e atualize pacotes de backport

Para instalar ou atualizar um pacote de backport:

  1. Encontre o pacote de backport necessário em PyPI.org.

  2. Instale ou atualize o pacote como qualquer outro pacote PyPI.

  3. Se necessário, instale as dependências de pacotes de vários fornecedores. Estas são dependências adicionais que pode ter de usar para usar todas as funcionalidades do pacote de backport.

    Por exemplo, para usar SalesforceToGcsOperator a partir de apache-airflow-backport-providers-google, precisa do [salesforce] extra. Instale apache-airflow-backport-providers-google e especifique o [salesforce] extra no campo Extras e versão.

Importe operadores de pacotes de fornecedores de backport em DAGs

Para ver uma lista de conteúdos num pacote de backport, aceda à página do pacote de backport em PyPI.org. Por exemplo, a página de apache-airflow-backport-providers-google apresenta operadores, transferências, sensores, hooks e segredos para este pacote.

Os pacotes de fornecedores de backport introduzem operadores novos e movidos, bem como outro conteúdo. Existe uma diferença entre estes dois tipos de conteúdo, conforme explicado mais adiante.

Importe novos operadores

Os novos operadores são aqueles que não existem no Airflow 1.10.*. Se tentar importar um operador sem o respetivo pacote de backport, recebe um erro de importação.

Para usar novos operadores de um pacote de backport, importe-os do respetivo pacote airflow.providers.*, conforme descrito na página deste pacote de backport em PyPI.org.

O exemplo seguinte importa novos operadores do pacote apache-airflow-backport-providers-google:

from airflow.providers.google.cloud.operators.bigquery_dts import (
    BigQueryCreateDataTransferOperator,
    BigQueryDeleteDataTransferConfigOperator,
    )

Importe operadores movidos

Os operadores movidos são aqueles que já existem no Airflow 1.10.*. Depois de instalar um pacote de operador de backport, pode importar duas versões diferentes de um operador. Uma versão está incluída no Airflow e outra é um operador movido. Para usar um operador movido, importe-o através de um novo caminho de importação.

Para usar operadores movidos de um pacote de backport, importe-os de um pacote airflow.contrib.* correspondente, conforme descrito na página deste pacote de backport em PyPI.org.

O exemplo seguinte importa operadores movidos do pacote apache-airflow-backport-providers-google:

from airflow.contrib.operators.bigquery_operator import (
    BigQueryCreateEmptyDatasetOperator,
    BigQueryOperator,
    )

O que se segue?