Importazione di operatori dai pacchetti del provider di backporting

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Questa pagina spiega cosa sono i pacchetti dei provider di backport di Airflow e come puoi utilizzarli nei tuoi DAG.

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

Per semplificare le cose, questo documento è incentrato solo sugli operatori. Puoi utilizzare tutti gli altri contenuti di un pacchetto backport come mostrato per gli operatori.

I pacchetti del provider di backport risolvono un problema importante: puoi ricevere 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 del provider per Google è disponibile in Airflow 2. Puoi importare operatori dalla versione con backport di questo pacchetto nel tuo ambiente Airflow 1.10.*.

Prima che Apache Airflow introducesse il concetto di pacchetti del provider di backport, gli operatori erano una parte integrante di Airflow. Per ottenere nuove versioni degli operatori era necessaria una versione più recente di Airflow. Per eseguire questa operazione è stato necessario eseguire l'upgrade dell'ambiente Cloud Composer a una versione successiva. Airflow 2 si allontana da questo modello e introduce pacchetti provider. Un pacchetto 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 trarre vantaggio da questa modifica e utilizzare versioni con backport dei pacchetti del provider.

Usa pacchetti di backport preinstallati

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

Per verificare quali pacchetti di backport sono disponibili nel tuo ambiente, consulta l'elenco di 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 l'ambiente e specifica la versione richiesta. Sconsigliamo di eseguire il downgrade dei pacchetti di backport preinstallati. Installa una versione precedente solo se rilevi un problema con una versione successiva. Non puoi disinstallare i pacchetti di backport preinstallati, cambia solo le versioni installate.

Installa ed esegui l'upgrade dei pacchetti di backport

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

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

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

  3. Se necessario, installa le dipendenze dei pacchetti tra provider. Si tratta di dipendenze extra di cui potresti aver bisogno per utilizzare tutte le funzionalità del pacchetto backport.

    Ad esempio, per utilizzare SalesforceToGcsOperator di apache-airflow-backport-providers-google, è necessario l'extra [salesforce]. Installa apache-airflow-backport-providers-google e specifica il [salesforce] extra nel campo Extra e versione.

Importa operatori dai pacchetti dei provider di backport nei DAG

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

I pacchetti dei provider di backport introducono operatori nuovi e trasferiti e altri contenuti. C'è una differenza tra questi due tipi di contenuti, come spiegato più avanti.

Importa 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 backport, ricevi un errore di importazione.

Per utilizzare nuovi operatori da un pacchetto di backport, importali dal pacchetto airflow.providers.* corrispondente, come descritto nella pagina relativa a 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 operatore backport, puoi importare due versioni diverse di un operatore. Una versione è integrata in Airflow, mentre un'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 backport, importali da un pacchetto airflow.contrib.* corrispondente, come descritto nella pagina relativa a questo pacchetto di backport 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