Importazione di operatori dai pacchetti del provider di backporting

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Questa pagina spiega cosa sono i pacchetti di fornitori di backport di Airflow e come utilizzarli nei DAG.

I pacchetti del provider di backporting sono versioni di Airflow 2 di operatori, trasferimenti, sensori, hook e secret che vengono pacchettizzati come moduli PyPI.

Per semplificare le cose, questo documento si concentra solo sugli operatori. Puoi utilizzare tutti gli altri contenuti di un pacchetto di backporting nello stesso modo mostrato per gli operatori.

I pacchetti del fornitore di backport risolvono un problema importante: puoi ottenere nuove funzionalità e aggiornamenti della sicurezza per operatori, trasferimenti, sensori e hook senza eseguire l'upgrade dell'ambiente Airflow a una versione successiva. Ad esempio, il pacchetto di provider per Google è disponibile in Airflow 2. Puoi importare gli operatori dalla versione di backporting di questo pacchetto nel tuo ambiente Airflow 1.10.*.

Prima che Apache Airflow introducesse il concetto di pacchetti del provider di backporting, gli operatori erano parte integrante di Airflow. Per ottenere nuove versioni degli operatori, era necessaria una versione più recente di Airflow. Ciò ha richiesto l'upgrade dell'ambiente Cloud Composer a una versione successiva. Airflow 2 abbandona questo modello e introduce i pacchetti di provider. Un pacchetto di provider per Airflow 2 è un modulo PyPI che contiene operatori, trasferimenti, sensori, hook e secret per un provider specifico (ad esempio Google). Se utilizzi Airflow 1.10.*, puoi usufruire di questa modifica e utilizzare le versioni di cui è stato eseguito il backporting dei pacchetti del provider.

Utilizzare i pacchetti di backport preinstallati

Alcuni pacchetti di backport sono già installati nelle immagini di Cloud Composer. Non è necessario installare questi pacchetti di backporting nel tuo ambiente. Assicurati solo di importare gli operatori da un pacchetto di backporting nel codice DAG come descritto più avanti in questa pagina.

Per verificare quali pacchetti di backport sono disponibili nel tuo ambiente, consulta l'elenco dei pacchetti nell'immagine Cloud Composer per il tuo ambiente.

Ogni pacchetto di backport preinstallato nel tuo ambiente ha una versione specifica. Se vuoi utilizzare una versione diversa, aggiorna il tuo ambiente e specifica la versione richiesta. Sconsigliamo di eseguire il downgrade dei pacchetti di backport preinstallati. Installa una versione precedente solo se riscontri un problema con una versione successiva. Non puoi disinstallare i pacchetti di backport preinstallati, ma solo modificare le versioni installate.

Installare e aggiornare i pacchetti di backport

Per installare o eseguire l'upgrade di un pacchetto di backport:

  1. Trova il pacchetto di backporting richiesto su PyPI.org.

  2. Installa o esegui l'upgrade del pacchetto come qualsiasi altro pacchetto PyPI.

  3. Se necessario, installa le dipendenze del pacchetto tra provider. Queste sono dipendenze aggiuntive che potrebbero essere necessarie per utilizzare tutte le funzionalità del pacchetto di backport.

    Ad esempio, per utilizzare SalesforceToGcsOperator da apache-airflow-backport-providers-google, devi disporre dell'extra [salesforce]. Installa apache-airflow-backport-providers-google e specifica l'[salesforce] extra nel campo Extra e versione.

Importazione di operatori dai pacchetti del provider di backporting nei DAG

Per visualizzare un elenco dei contenuti di un pacchetto di backport, vai alla pagina del pacchetto di backport su PyPI.org. Ad esempio, la pagina per apache-airflow-backport-providers-google elenca operatori, trasferimenti, sensori, hook e segreti per questo pacchetto.

I pacchetti del provider di backporting introducono operatori nuovi e spostati e altri contenuti. Esiste una differenza tra questi due tipi di contenuti, come spiegato in seguito.

Importare nuovi operatori

I nuovi operatori sono quelli che non esistono in Airflow 1.10.*. Se provi a importare un operatore di questo tipo senza il relativo pacchetto di backporting, riceverai un errore di importazione.

Per utilizzare i nuovi operatori di un pacchetto di backport, importali dal pacchetto airflow.providers.* corrispondente, come descritto nella pagina di questo pacchetto di backport su PyPI.org.

L'esempio seguente importa nuovi operatori dal pacchetto apache-airflow-backport-providers-google:

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

Importa operatori spostati

Gli operatori spostati sono quelli già esistenti in Airflow 1.10.*. Dopo aver installato un pacchetto di operatori di backporting, puoi importare due versioni diverse di un operatore. Una versione è inclusa in Airflow, mentre l'altra è un operatore spostato. Per utilizzare un operatore spostato, importalo utilizzando un nuovo percorso di importazione.

Per utilizzare gli operatori spostati da un pacchetto di backporting, importali da un pacchetto airflow.contrib.* corrispondente, come descritto nella pagina di questo pacchetto di backporting su PyPI.org.

L'esempio seguente importa gli operatori spostati dal pacchetto apache-airflow-backport-providers-google:

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

Passaggi successivi