Managed Airflow (terza generazione) | Managed Airflow (seconda generazione) | Managed Airflow (prima generazione legacy)
Questa pagina descrive come installare plug-in personalizzati nell'ambiente Managed Service for Apache Airflow.
Il gestore di plug-in di Apache Airflow consente di scrivere operatori, hook, sensori o interfacce Apache Airflow personalizzati interni. Per saperne di più, consulta la sezione Plug-in personalizzati nella documentazione di Airflow.
Informazioni sui plug-in personalizzati
Quando crei un ambiente, Airflow gestito
crea un bucket Cloud Storage e lo associa a questo
bucket con il tuo ambiente. Utilizza la cartella plugins nel bucket dell'ambiente per installare i plug-in personalizzati.
Prima di iniziare
- Il tuo account deve avere un ruolo che consenta di visualizzare e modificare i contenuti del bucket dell'ambiente.
- Questo metodo di installazione si applica solo ai plug-in Airflow. Ad esempio, non puoi utilizzare questo metodo per installare moduli Python comuni o altre librerie.
I plug-in devono essere conformi a le linee guida del modello di plug-in Airflow.
Airflow gestito (terza generazione) non supporta i plug-in personalizzati per lo scheduler Airflow e l'attivatore Airflow. I plug-in non vengono sincronizzati con questi componenti dell'ambiente. Sono incluse le funzionalità di Airflow che si basano sui plug-in, come le tabelle orarie personalizzate e i listener a livello di DAG . Sono supportati i listener a livello di attività e le tabelle orarie integrate.
Installare un plug-in
Per installare un plug-in personalizzato nell'ambiente Airflow gestito, copia il codice del plug-in nella cartella plugins del bucket dell'ambiente.
Per installare un plug-in:
Console
Nella Google Cloud console, vai alla pagina Ambienti.
Trova il tuo ambiente e segui il link DAG.
Sali di un livello di cartella, quindi vai alla cartella
plugins/.Carica i file dei plug-in. Per saperne di più sul caricamento degli oggetti, consulta Caricare oggetti.
gcloud
Utilizza il seguente comando gcloud:
gcloud composer environments storage plugins import \
--environment ENVIRONMENT_NAME \
--location LOCATION \
--source PATH_TO_LOCAL_FILE \
--destination PATH_IN_SUBFOLDER
Sostituisci:
ENVIRONMENT_NAMEcon il nome dell'ambiente.LOCATIONcon la regione in cui si trova l'ambiente.PATH_TO_LOCAL_FILEcon il percorso del file da caricare.- (Facoltativo)
PATH_IN_SUBFOLDERcon il percorso della sottocartella. Utilizza l'argomento--destinationper caricare un plug-in in una sottocartella della cartellaplugins. In caso contrario, ometti l'argomento--destination.
Visualizzare l'elenco dei plug-in
Console
Nella Google Cloud console, vai alla pagina Ambienti.
Trova il tuo ambiente e segui il link DAG.
Sali di un livello di cartella, quindi vai alla cartella
plugins/.Visualizza i file dei plug-in.
gcloud
Utilizza il seguente comando gcloud:
gcloud composer environments storage plugins list \
--environment ENVIRONMENT_NAME \
--location LOCATION
Sostituisci:
ENVIRONMENT_NAMEcon il nome dell'ambiente.LOCATIONcon la regione in cui si trova l'ambiente.
Eliminare un plug-in
Per eliminare un plug-in dall'ambiente Airflow gestito, elimina il codice del plug-in dalla cartella plugins del bucket dell'ambiente.
Per eliminare un plug-in:
Console
Nella Google Cloud console, vai alla pagina Ambienti.
Trova il tuo ambiente e segui il link DAG.
Sali di un livello di cartella, quindi vai alla cartella
plugins/.Elimina i file dei plug-in. Per saperne di più sull'eliminazione degli oggetti, consulta Eliminare oggetti.
gcloud
Utilizza il seguente comando gcloud:
gcloud composer environments storage plugins delete \
--environment ENVIRONMENT_NAME \
--location LOCATION \
PLUGIN_TO_DELETE
Scaricare i plug-in
Per scaricare i plug-in, scegli un'opzione:
Console
Nella Google Cloud console, vai alla pagina Ambienti.
Trova il tuo ambiente e segui il link DAG.
Sali di un livello di cartella, quindi vai alla cartella
plugins/.Scarica i file dei plug-in. Per saperne di più sull'eliminazione degli oggetti, consulta Scaricare oggetti.
gcloud
Utilizza il seguente comando gcloud:
gcloud composer environments storage plugins export \
--environment ENVIRONMENT_NAME \
--location LOCATION \
--destination PATH_TO_LOCAL_DESTINATION \
--source PATH_IN_FOLDER
Sostituisci:
ENVIRONMENT_NAMEcon il nome dell'ambiente.LOCATIONcon la regione in cui si trova l'ambiente.PATH_TO_LOCAL_DESTINATIONcon la destinazione del file scaricato.- (Facoltativo)
--sourceè un'opzione per scaricare un solo plug-in.PATH_IN_FOLDERè il percorso della cartella.
Disattivare i plug-in del server web
In Managed Airflow (terza generazione), se riscontri problemi con l'interfaccia utente di Airflow, puoi disattivare i plug-in del server web senza doverli rimuovere dal bucket dell'ambiente.
gcloud
I seguenti argomenti di Google Cloud CLI disattivano e attivano i plug-in del server web:
--no-support-web-server-plugins: disattiva i plug-in del server web--support-web-server-plugins: attiva i plug-in del server web
Per disattivare i plug-in del server web, esegui il seguente comando Google Cloud CLI:
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--no-support-web-server-plugins
Per attivare i plug-in del server web, esegui il seguente comando Google Cloud CLI:
gcloud beta composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--support-web-server-plugins
Sostituisci quanto segue:
ENVIRONMENT_NAME: il nome dell'ambienteLOCATION: la regione in cui si trova l'ambiente
API
Crea una richiesta API
environments.patch.In questa richiesta:
Nel parametro
updateMask, specifica la mascheraconfig.software_config.web_server_plugins_mode.Nel corpo della richiesta, nel campo
web_server_plugins_mode:- Specifica
PLUGINS_DISABLEDper disattivare i plug-in del server web. - Specifica
PLUGINS_ENABLEDper attivare i plug-in del server web.
- Specifica
Esempio (disattiva i plug-in):
// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.software_config.web_server_plugins_mode
"config": {
"softwareConfig": {
"web_server_plugins_mode": "PLUGINS_DISABLED"
}
}
Esempio (attiva i plug-in):
// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.software_config.web_server_plugins_mode
"config": {
"softwareConfig": {
"web_server_plugins_mode": "PLUGINS_ENABLED"
}
}
Risolvere i problemi relativi ai plug-in
I plug-in causano problemi con l'interfaccia utente di Airflow
Puoi disattivare i plug-in del server web senza eliminarli. Per saperne di più, consulta Disattivare i plug-in del server web.
Un plug-in appena caricato non è visibile nell'interfaccia utente di Airflow
Se utilizzi il controllo dell'accesso all'interfaccia utente di Airflow, il plug-in appena
caricato potrebbe non essere visibile nell'interfaccia utente di Airflow. Per risolvere il problema, chiedi all'amministratore dell'interfaccia utente di Airflow di configurare l'accesso al plug-in appena caricato o assegnati il ruolo Admin nell'interfaccia utente di Airflow.