Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Questa pagina descrive come installare plug-in personalizzati nel tuo ambiente Cloud Composer.
Il gestore dei plug-in di Apache Airflow ti 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, Cloud Composer crea un bucket Cloud Storage e lo associa al tuo ambiente. Utilizza la cartella plugins nel bucket del tuo
ambiente per installare plug-in personalizzati.
Prima di iniziare
- Il tuo account deve avere un ruolo che consenta di visualizzare e modificare i contenuti del bucket del tuo 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 alle linee guida del modello di plug-in Airflow.
Cloud Composer 3 non supporta i plug-in personalizzati per lo scheduler Airflow e il trigger Airflow. I plug-in non vengono sincronizzati con questi componenti del tuo ambiente. Sono incluse le funzionalità di Airflow che si basano su plug-in, come TimeTable personalizzate e 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 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.
Trova il tuo ambiente e segui il link DAG.
Sali di un livello di cartella e vai alla cartella
plugins/.Carica i file del plug-in. Per ulteriori informazioni sul caricamento degli oggetti, vedi Caricamento degli 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 console Google Cloud , vai alla pagina Ambienti.
Trova il tuo ambiente e segui il link DAG.
Sali di un livello di cartella e vai alla cartella
plugins/.Visualizza i file del 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 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.
Sali di un livello di cartella e vai alla cartella
plugins/.Elimina i file del plug-in. Per ulteriori informazioni sull'eliminazione degli oggetti, vedi Eliminare gli 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 un livello di cartella e vai alla cartella
plugins/.Scarica i file del plug-in. Per ulteriori informazioni sull'eliminazione degli oggetti, vedi Scaricare gli 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 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 attivano i plug-in del server web:
--no-support-web-server-plugins: disattiva i plug-in dei server web--support-web-server-plugins: attiva i plug-in per server web
Per disattivare i plug-in del server web, esegui questo 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 (disattivazione dei 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 la UI di Airflow
Puoi disattivare i plug-in dei server web senza eliminarli. Per saperne di più, consulta Disattivare i plug-in del server web.
Un plug-in appena caricato non è visibile nella UI di Airflow
Se utilizzi il controllo dell'accesso alla UI di Airflow, il plug-in appena
caricato potrebbe non essere visibile nella UI di Airflow. Per risolvere il problema, chiedi
all'amministratore della UI di Airflow di configurare l'accesso al plug-in appena caricato o
assegnati il ruolo Admin nella UI di Airflow.