Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Questa pagina spiega che cosa sono i pacchetti del provider di backport di Airflow e come utilizzarli nei DAG.
I pacchetti del provider di backporting sono le versioni di 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 di backporting nello stesso modo mostrato per gli operatori.
I pacchetti del provider 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 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, erano parte integrante di Airflow. Per ottenere nuove versioni degli operatori, era necessaria una versione più recente di Airflow. Per questo è 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 del provider per Airflow 2 è un modulo PyPI che contiene operatori, trasferimenti, sensori, hook e secret per un provider specifico (ad esempio Google). Se usi Airflow 1.10.*, puoi trarre vantaggio da questa modifica e utilizzare le versioni con i pacchetti del provider.
Utilizzare i pacchetti backport preinstallati
Alcuni pacchetti di backport sono già installati in Cloud Composer in formato Docker. Non è necessario installare questi pacchetti di backport nel tuo ambiente. Assicurati solo di importare gli operatori da un pacchetto backport nel tuo DAG come descritto più avanti in questa pagina.
Per controllare quali pacchetti di backport sono disponibili nel tuo ambiente, vedi 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 usare una versione diversa, aggiornare l'ambiente e specificare la versione richiesta. Sconsigliamo di eseguire il downgrade dei pacchetti di backport preinstallati. Installa una versione precedente solo se rilevare un problema con una versione successiva. Non puoi disinstallare le app preinstallate di backport, cambia solo le versioni installate.
Installare e eseguire 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 fornitori. Questi sono extra di cui potresti aver bisogno per usare tutte le caratteristiche del backport pacchetto.
Ad esempio, per utilizzare
SalesforceToGcsOperator
daapache-airflow-backport-providers-google
, hai bisogno dell'extra[salesforce]
. Installaapache-airflow-backport-providers-google
e specifica l'extra[salesforce]
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 dei provider di backport introducono operatori nuovi e spostati e altri contenuti. C'è una differenza tra questi due tipi di contenuti, poiché spiegate più avanti.
Importa nuovi operatori
I nuovi operatori sono quelli che non esistono in Airflow 1.10.*. Se provi a Se importi un operatore di questo tipo senza il relativo pacchetto di backport, viene visualizzato un errore di importazione.
Per utilizzare nuovi operatori da un pacchetto backport, importali dal relativo
pacchetto airflow.providers.*
corrispondente, come descritto nella relativa pagina
pacchetto backport su PyPI.org.
L'esempio seguente importa nuovi operatori dalla
apache-airflow-backport-providers-google
pacchetto:
from airflow.providers.google.cloud.operators.bigquery_dts import (
BigQueryCreateDataTransferOperator,
BigQueryDeleteDataTransferConfigOperator,
)
Importa gli 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 e un'altra è un operatore spostato. Per utilizzare un operatore spostato, importalo utilizzando un nuovo percorso di importazione.
Per utilizzare operatori spostati da un pacchetto backport, importali da un
pacchetto airflow.contrib.*
corrispondente, come descritto nella relativa pagina
pacchetto backport su PyPI.org.
L'esempio seguente importa gli operatori spostati dalla
apache-airflow-backport-providers-google
pacchetto:
from airflow.contrib.operators.bigquery_operator import (
BigQueryCreateEmptyDatasetOperator,
BigQueryOperator,
)
Passaggi successivi
- Scrittura dei DAG
- Installazione dei pacchetti PyPI da PyPI.org
- Elenco di pacchetti preinstallati nelle immagini Cloud Composer