Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Apache Airflow ha un'interfaccia a riga di comando (CLI) che puoi utilizzare per eseguire attività come l'attivazione e la gestione di DAG, l'ottenimento di informazioni sulle esecuzioni di DAG e sulle attività, l'aggiunta ed eliminazione di connessioni e utenti.
Comandi dell'interfaccia a riga di comando Airflow supportati
Airflow utilizza la sintassi dell'interfaccia a riga di comando Airflow 2, descritta nella documentazione di Airflow.
Per un elenco completo dei comandi dell'interfaccia a riga di comando di Airflow supportati, consulta la documentazione di riferimento del comando
gcloud composer environments run
.
Prima di iniziare
Devi disporre delle autorizzazioni per utilizzare Google Cloud CLI con Cloud Composer ed eseguire i comandi dell'interfaccia a riga di comando Airflow.
I comandi dell'interfaccia a riga di comando di Airflow consumano la
environments.executeAirflowCommand
quota.Non è possibile eseguire i comandi della CLI di Airflow tramite
kubectl
in Cloud Composer 3. Questo approccio è stato ritirato ed è richiesto solo per le versioni di Cloud Composer precedenti alla 2.4.0.
Esegui i comandi dell'interfaccia a riga di comando di Airflow
Per eseguire i comandi dell'interfaccia a riga di comando di Airflow nei tuoi ambienti, utilizza gcloud CLI:
gcloud composer environments run ENVIRONMENT_NAME \
--location LOCATION \
SUBCOMMAND \
-- SUBCOMMAND_ARGUMENTS
Sostituisci quanto segue :
ENVIRONMENT_NAME
: il nome del tuo ambiente.LOCATION
: la regione in cui si trova l'ambiente.SUBCOMMAND
: uno dei comandi dell'interfaccia a riga di comando di Airflow supportati.SUBCOMMAND_ARGUMENTS
con argomenti per il comando Airflow CLI.
Separatore degli argomenti dei sottocomandi
Separa gli argomenti per il comando Airflow CLI specificato con --
:
- Specifica i comandi CLI composti come sottocomando.
- Specifica gli argomenti per i comandi composti come argomenti dei sottocomandi,
dopo un separatore
--
.
Esempio:
gcloud composer environments run example-environment \
dags list -- --output=json
Località predefinita
La maggior parte dei comandi gcloud composer
richiede una posizione. Puoi specificare la posizione con il flag --location
o impostando la posizione predefinita.
Ad esempio, per attivare un DAG denominato sample_quickstart
con l'ID 5077
nel tuo ambiente Cloud Composer:
gcloud composer environments run example-environment \
--location us-central1 dags trigger -- sample_quickstart \
--run-id=5077
Eseguire i comandi della CLI Airflow tramite l'API Cloud Composer
In Cloud Composer 3, puoi eseguire i comandi della CLI di Airflow tramite l'API Cloud Composer.
Esegui un comando
Crea una richiesta API environments.executeAirflowCommand
:
{
"environment": "projects/PROJECT_ID/locations/LOCATION/environments/ENVIRONMENT_NAME",
"command": "AIRFLOW_COMMAND",
"subcommand": "AIRFLOW_SUBCOMMAND",
"parameters": [
"SUBCOMMAND_PARAMETER"
]
}
Sostituisci quanto segue:
PROJECT_ID
: l'ID progetto.LOCATION
: la regione in cui si trova l'ambiente.ENVIRONMENT_NAME
: il nome del tuo ambiente.AIRFLOW_COMMAND
: il comando dell'interfaccia a riga di comando di Airflow che vuoi eseguire, ad esempiodags
.AIRFLOW_SUBCOMMAND
: sottocomando per il comando dell'interfaccia a riga di comando di Airflow che vuoi eseguire, ad esempiolist
.- (facoltativo)
SUBCOMMAND_PARAMETER
: parametri per il sottocomando. Se vuoi utilizzare più di un parametro, aggiungi altri elementi all'elenco.
Esempio:
// POST https://composer.googleapis.com/v1/{environment=projects/*/locations/*/environments/*}:executeAirflowCommand
{
"environment": "projects/example-project/locations/us-central1/environments/example-environment",
"command": "dags",
"subcommand": "list",
"parameters": [
"-o json",
"--verbose"
]
}
Stato del comando di polling
Dopo aver eseguito un comando dell'interfaccia a riga di comando Airflow tramite l'API Cloud Composer, verifica se
il comando è stato completato correttamente effettuando una
richiesta PollAirflowCommand e controllando i
campi in exitInfo
per errori e codici di stato. Il campo output
contiene
le righe di log.
Per ottenere lo stato di esecuzione del comando e recuperare i log, fornisci i valori executionId
,
pod
e podNamespace
restituiti da ExecuteAirflowCommandRequest
:
Esempio:
// POST https://composer.googleapis.com/v1/{environment=projects/*/locations/*/environments/*}:pollAirflowCommand
{
"executionId": "a117da94-355d-4ad4-839e-ac39ccb0bf48",
"pod": "airflow-webserver-66d96b858f-tn96b",
"podNamespace": "airflow-2-10-2-build-13-226523e4",
"nextLineNumber": 1
}