Cloud Composer 1 | Cloud Composer 2
Questa pagina spiega cosa sono i pacchetti di fornitori di backport di Airflow e come puoi utilizzarli nei tuoi DAG.
I pacchetti di provider di backend sono versioni Airflow 2 di operatori, trasferimenti, sensori, hook e secret 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 backport come indicato per gli operatori.
I pacchetti del provider di backend 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 provider per Google è disponibile in Airflow 2. Puoi importare operatori dalla versione di cui è stato eseguito il backporting di questo pacchetto nel tuo ambiente Airflow 1.10.*.
Prima che Apache Airflow introducesse il concetto di pacchetti di provider di backport, 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 si allontana da questo modello e introduce i pacchetti dei 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 di cui è stato eseguito il backporting dei pacchetti del provider.
Usa pacchetti di backport preinstallati
Alcuni pacchetti di backport sono già installati nelle immagini di 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 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 l'ambiente e specifica la versione richiesta. Sconsigliamo di eseguire il downgrade dei pacchetti di backport preinstallati. Installa una versione precedente solo se scopri un problema con una versione successiva. Non puoi disinstallare i pacchetti di backport preinstallati, ma modificare solo le versioni installate.
Installa ed esegui l'upgrade dei pacchetti di backport
Per installare o eseguire l'upgrade di un pacchetto di backport:
Installa o esegui l'upgrade del pacchetto come qualsiasi altro pacchetto PyPI.
Se necessario, installa le dipendenze dei pacchetti tra provider. Si tratta di dipendenze aggiuntive di cui potresti aver bisogno per utilizzare tutte le funzionalità del pacchetto di backport.
Ad esempio, per utilizzare
SalesforceToGcsOperator
daapache-airflow-backport-providers-google
, è necessario il[salesforce]
extra. Installaapache-airflow-backport-providers-google
e specifica il valore aggiuntivo[salesforce]
nel campo Extra e versione.
Importa operatori dai pacchetti del provider di backport 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 apache-airflow-backport-providers-google
elenca operatori, trasferimenti, sensori, hook e secret per questo pacchetto.
I pacchetti del provider di backport introducono operatori nuovi e spostati e altri contenuti. Esiste 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 questo operatore senza il relativo pacchetto di backport, verrà visualizzato un errore di importazione.
Per utilizzare nuovi operatori da 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 backport, puoi importare due versioni diverse di un operatore. Una versione è in bundle con 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 di 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
- Scrittura di DAG
- Installazione di pacchetti PyPI da PyPI.org
- Elenco dei pacchetti preinstallati nelle immagini Cloud Composer