Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Questa pagina descrive come installare plug-in personalizzati in Cloud Composer completamente gestito di Google Cloud.
Il gestore dei plug-in di Apache Airflow consente di scrivere internamente Operatori, hook, sensori o interfacce di Apache Airflow. Per saperne di più, consulta i plug-in personalizzati nella documentazione di Airflow.
Informazioni sui plug-in personalizzati
Quando crei un ambiente, Cloud Composer
crea un bucket Cloud Storage e lo associa al tuo ambiente. Utilizza la cartella plugins
nel bucket del tuo ambiente per installare i plug-in personalizzati.
Prima di iniziare
- Il tuo account deve avere un ruolo che consenta la visualizzazione e la modificando i contenuti dei bucket dell'ambiente.
- Questo metodo di installazione si applica solo a: Plug-in Airflow. Ad esempio, non possono utilizzare questo metodo per installare moduli Python comuni o altre librerie.
- I plug-in devono essere conformi alle linee guida del modello di plug-in Airflow.
Installare un plug-in
Per installare un plug-in personalizzato nel tuo ambiente Cloud Composer:
copia il codice del plug-in nella cartella plugins
del bucket dell'ambiente.
Per installare un plug-in:
Console
Nella console Google Cloud, vai alla pagina Ambienti.
Individua il tuo ambiente e segui il link DAG.
Sali di livello superiore, quindi passa alla cartella
plugins/
.Carica i file del plug-in. Per ulteriori informazioni sul caricamento di oggetti, consulta Caricare oggetti.
gcloud
Usa questo comando gcloud
:
gcloud composer environments storage plugins import \
--environment ENVIRONMENT_NAME \
--location LOCATION \
--source PATH_TO_LOCAL_FILE \
--destination PATH_IN_SUBFOLDER
Sostituisci:
ENVIRONMENT_NAME
con il nome dell'ambiente.LOCATION
con la regione in cui si trova l'ambiente.PATH_TO_LOCAL_FILE
con il percorso del file da caricare.- (Facoltativo)
PATH_IN_SUBFOLDER
con il percorso della sottocartella. Utilizza l'argomento--destination
per caricare un plug-in in una sottocartella della cartellaplugins
. In caso contrario, ometti l'argomento--destination
.
Visualizza l'elenco dei plug-in
Console
Nella console Google Cloud, vai alla pagina Ambienti.
Trova il tuo ambiente e segui il link DAG.
Sali di livello superiore, quindi passa alla cartella
plugins/
.Visualizza i file dei plug-in.
gcloud
Usa questo comando gcloud
:
gcloud composer environments storage plugins list \
--environment ENVIRONMENT_NAME \
--location LOCATION
Sostituisci:
ENVIRONMENT_NAME
con il nome dell'ambiente.LOCATION
con la regione in cui si trova l'ambiente.
Eliminare un plug-in
Per eliminare un plug-in dall'ambiente Cloud Composer, elimina il codice del plug-in dalla cartella plugins
nel bucket dell'ambiente.
Per eliminare un plug-in:
Console
Nella console Google Cloud, vai alla pagina Ambienti.
Trova il tuo ambiente e segui il link DAG.
Vai di un livello di cartella sopra, quindi vai alla cartella
plugins/
.Elimina i file del plug-in. Per ulteriori informazioni sull'eliminazione di oggetti, consulta Eliminazione di 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 console Google Cloud, vai alla pagina Ambienti.
Trova il tuo ambiente e segui il link DAG.
Sali di livello superiore, quindi passa alla cartella
plugins/
.Scarica i file del plug-in. Per ulteriori informazioni sull'eliminazione di oggetti, consulta la sezione Download di oggetti.
gcloud
Usa questo comando gcloud
:
gcloud composer environments storage plugins export \
--environment ENVIRONMENT_NAME \
--location LOCATION \
--destination PATH_TO_LOCAL_DESTINATION \
--source PATH_IN_FOLDER
Sostituisci:
ENVIRONMENT_NAME
con il nome dell'ambiente.LOCATION
con la regione in cui si trova l'ambiente.PATH_TO_LOCAL_DESTINATION
con la destinazione del file scaricato.- (Facoltativo)
--source
è un'opzione per scaricare un solo plug-in.PATH_IN_FOLDER
è il percorso della cartella.
Disattiva i plug-in dei server web
In Cloud Composer 3, 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 abilitano il server web plugins:
--no-support-web-server-plugins
: disattiva i plug-in del server web--support-web-server-plugins
: attiva i plug-in dei 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 dei server web, esegui questo comando 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
Creare 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_DISABLED
per disattivare i plug-in dei server web. - Specifica
PLUGINS_ENABLED
per attivare i plug-in dei server web.
- Specifica
Esempio (disabilita 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"
}
}
Risoluzione dei problemi relativi ai plug-in
I plug-in causano problemi con la UI di Airflow
Puoi disattivare i plug-in dei server web senza eliminarli. Per maggiori informazioni, 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 questo problema, chiedi
Amministratore UI di Airflow per configurare l'accesso al plug-in appena caricato
Assegnati il ruolo Admin
nella UI di Airflow.