Installazione di plug-in personalizzati

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

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Individua il tuo ambiente e segui il link DAG.

  3. Sali di livello superiore, quindi passa alla cartella plugins/.

  4. 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 cartella plugins. In caso contrario, ometti l'argomento --destination.

Visualizza l'elenco dei plug-in

Console

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Trova il tuo ambiente e segui il link DAG.

  3. Sali di livello superiore, quindi passa alla cartella plugins/.

  4. 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

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Trova il tuo ambiente e segui il link DAG.

  3. Vai di un livello di cartella sopra, quindi vai alla cartella plugins/.

  4. 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

  1. Nella console Google Cloud, vai alla pagina Ambienti.

    Vai ad Ambienti

  2. Trova il tuo ambiente e segui il link DAG.

  3. Sali di livello superiore, quindi passa alla cartella plugins/.

  4. 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'ambiente
  • LOCATION: la regione in cui si trova l'ambiente

API

  1. Creare una richiesta API environments.patch.

  2. In questa richiesta:

    1. Nel parametro updateMask, specifica la maschera config.software_config.web_server_plugins_mode.

    2. 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.

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.

Passaggi successivi