Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Apache Airflow dispone di un'interfaccia a riga di comando (CLI) che puoi utilizzare per eseguire attività come l'attivazione e la gestione dei DAG, l'ottenimento di informazioni sulle esecuzioni e sulle attività dei DAG, 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 il riferimento per il comando
gcloud composer environments run
.
Prima di iniziare
Devi disporre delle autorizzazioni per utilizzare Google Cloud CLI con Cloud Composer ed eseguire i comandi Airflow CLI.
Non è possibile eseguire i comandi della CLI di Airflow tramite
kubectl
in Cloud Composer 3. Questo approccio è stato ritirato ed è obbligatorio solo per le versioni di Cloud Composer precedenti alla 2.4.0.
Esegui i comandi dell'interfaccia a riga di comando 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 Airflow supportati.SUBCOMMAND_ARGUMENTS
con gli argomenti per il comando Airflow CLI.
Separatore degli argomenti dei sottocomandi
Separa gli argomenti per il comando dell'interfaccia a riga di comando Airflow specificato con --
:
- Specifica i comandi CLI composti come sottocomando.
- Specifica eventuali argomenti per i comandi composti come argomenti dei comandi secondari,
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 località. 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
Esegui i comandi dell'interfaccia a riga di comando Airflow tramite l'API Cloud Composer
In Cloud Composer 3, puoi eseguire i comandi dell'interfaccia a riga di comando 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 Airflow che vuoi eseguire, ad esempiodags
.AIRFLOW_SUBCOMMAND
: sottocomando del 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, controlla se il comando è stato completato correttamente inviando una richiesta PollAirflowCommand e controllando i campi in exitInfo
per verificare la presenza di errori e codici di stato. Il campo output
contiene linee 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
}