Accedi al database Airflow

Cloud Composer 1 | Cloud Composer 2

Questa pagina spiega come connettersi a un'istanza Cloud SQL che esegue il database Airflow del tuo ambiente Cloud Composer ed eseguire query SQL.

Ad esempio, potresti voler eseguire query direttamente sul database Airflow, effettuare backup del database, raccogliere statistiche in base ai contenuti del database o recuperare qualsiasi altra informazione personalizzata dal database.

Per un ambiente Cloud Composer, un modo per farlo è connettersi al database Airflow da una VM nel cluster GKE del tuo ambiente.

Recupera il nome e la zona del cluster del tuo ambiente

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

    Vai a Ambienti

  2. Seleziona il tuo ambiente.

  3. Vai alla scheda Configurazione dell'ambiente.

  4. L'elemento Cluster GKE elenca il nome e la zona del cluster GKE del tuo ambiente.

    Ad esempio, se il valore di questo parametro è projects/example-project/zones/europe-west3-a/clusters/europe-west3-composer-exam--7b206598-gke, il nome del cluster è europe-west3-composer-exam--7b206598-gke, la zona del cluster è europe-west3-a.

Recupero dei parametri di connessione del database

Airflow 2

  1. Accedi all'interfaccia web di Airflow per il tuo ambiente.
  2. Nell'interfaccia web di Airflow, vai ad Amministrazione > Configurazioni.

  3. Trova il parametro sql_alchemy_conn.

  4. Recupera il nome utente, la password e il nome del database dal valore di questo parametro.

    Ad esempio, se il valore di questo parametro è postgresql+psycopg2://root:example-password@127.0.0.1:3306/composer-1-17-0-airflow-2-0-1-400fa094, il nome utente è root, la password è example-password e il nome del database è composer-1-17-0-airflow-2-0-1-400fa094.

Airflow 1

  1. Accedi all'interfaccia web di Airflow per il tuo ambiente.
  2. Nell'interfaccia web di Airflow, vai ad Amministrazione > Configurazione.
  3. Trova il parametro sql_alchemy_conn.
  4. Recupera il nome utente, la password e il nome del database dal valore di questo parametro.

    Ad esempio, se il valore di questo parametro è mysql+mysqldb://root:example-password@127.0.0.1/composer-1-16-2-airflow-1-10-14-3e9e2312?charset=utf8, il nome utente è root, la password è example-password e il nome del database è composer-1-16-2-airflow-1-10-14-3e9e2312.

recupera l'indirizzo dell'endpoint del database

  1. Nella console Google Cloud, vai alla pagina Kubernetes Engine > Gateway, servizi e Ingress:

    Vai a Servizi e Ingress

  2. Seleziona il servizio airflow-sqlproxy-service per il cluster. Puoi utilizzare il nome del cluster o l'intervallo IP elencato per gli endpoint per cercare l'elemento corretto.

  3. Nella pagina Dettagli servizio, trova l'indirizzo IP di un pod di gestione. È elencato nella sezione Pod di pubblicazione, nella colonna Endpoint.

Crea un'istanza VM

Crea una nuova istanza VM con i seguenti parametri:

  • Regione. Seleziona la stessa regione del cluster.

  • Zona: Seleziona la stessa zona del cluster.

  • Disco di avvio. Seleziona una distribuzione Linux, ad esempio Ubuntu 21.04 LTS.

  • Specifica un indirizzo IP nell'intervallo IP del cluster:

    1. Espandi la voce Gestione, sicurezza, dischi, networking, single-tenancy.
    2. Vai alla scheda Networking.
    3. In Interfacce di rete, espandi la voce dell'interfaccia predefinita.
    4. Espandi Mostra intervalli IP alias.
    5. In Intervallo di subnet, seleziona l'intervallo IP gke-services per il tuo cluster. Ad esempio, gke-europe-west3-composer-exam7b206598-gke-services-115b26e7. Hai ottenuto il nome del cluster nel passaggio precedente.
    6. In Intervallo IP alias, specifica un indirizzo IP per l'istanza VM che rientra nell'intervallo di indirizzi IP dell'intervallo di subnet specificato.

Connettiti all'istanza VM e installa il pacchetto client SQL

Airflow 2

  1. Connettiti all'istanza VM creata nel passaggio precedente.

  2. Installa il pacchetto postgresql-client.

    sudo apt-get update
    sudo apt-get install postgresql-client
    

Airflow 1

  1. Connettiti all'istanza VM creata nel passaggio precedente.

  2. Installa il pacchetto mysql-client.

    sudo apt-get update
    sudo apt-get install mysql-client
    

Connettiti al database Airflow

Mentre sei connesso all'istanza VM, esegui questo comando per connetterti al database Airflow:

Airflow 2

psql --user=USERNAME --password \
  --host=DB_ENDPOINT \
  --port=3306 \
  DB_NAME

Airflow 1

mysql --user=USERNAME --password \
  --host=DB_ENDPOINT \
  DB_NAME

Sostituisci con i valori ottenuti nei passaggi precedenti:

  • USERNAME con il nome utente.
  • DB_ENDPOINT con l'indirizzo IP dell'endpoint del database che hai ottenuto in precedenza in questa guida.
  • DB_NAME con il nome del database.

Esegui query SQL

Viene visualizzato un prompt. Puoi eseguire query SQL in questo prompt. Ad esempio:

SELECT * FROM dag LIMIT 10;

Esegui il dump dei contenuti del database e trasferiscili in un bucket

Per eseguire il dump dei contenuti del database in un file, esegui questo comando:

Airflow 2

pg_dump --user=USERNAME --password \
  --host=DB_ENDPOINT \
  --port=3306 \
  DB_NAME > DUMP_FILE

Airflow 1

mysqldump --user=USERNAME --password \
  --host=DB_ENDPOINT \
  DB_NAME > DUMP_FILE

Sostituisci:

  • USERNAME con il nome utente.
  • DB_ENDPOINT con l'indirizzo IP dell'endpoint del database.
  • DB_NAME con il nome del database.
  • DUMP_FILE con il nome del file di dump. Ad esempio, dump.sql.

Per trasferire il file di dump in un bucket Cloud Storage:

gsutil cp DUMP_FILE BUCKET_ADDRESS

Sostituisci:

  • DUMP_FILE con il nome del file di dump.
  • BUCKET_ADDRESS con l'indirizzo del bucket. Ad esempio, gs://europe-west3-db-dump.

In alternativa, puoi trasferire il file di dump localmente con gcloud compute scp.

Passaggi successivi