2016-01-04 13 views

risposta

15

È necessario utilizzare il flag --format, disponibile per la maggior parte dei comandi gcloud.

Ad esempio, se si desidera ottenere lo stesso risultato esatto come l'attuale (a partire dal momento della stesura di questa risposta) formato, è possibile eseguire:

$ gcloud compute instances list --format="table(
    name, 
    zone.basename(), 
    machineType.basename(), 
    scheduling.preemptible.yesno(yes=true, no=''), 
    networkInterfaces[0].networkIP:label=INTERNAL_IP, 
    networkInterfaces[0].accessConfigs[0].natIP:label=EXTERNAL_IP, 
    status 
)" 

L'uscita di questo il comando sarà non modifica tra le versioni, anche se l'output predefinito del comando (a meno che la risorsa in fase di formattazione non cambi, questo dovrebbe essere raro). La visualizzazione del formato predefinito per le risorse nei comandi è un'operazione in corso.

È anche possibile specificare un formato come YAML o JSON per l'uscita a lettura ottica:

$ gcloud compute instances list --format=yaml 
$ gcloud compute instances list --format=json 

Si noti che questo output contiene molte più informazioni di quanto è presente nel output di default per il comando; questa è l'informazione con cui devi lavorare quando costruisci un formato personalizzato.

CSV è un'altra opzione di formato. Come table, richiede una proiezione -a specifica su come stampare ogni riga.

$ gcloud compute instances list --format="csv(name,zone,status)" 
name,zone,status 
example-instance,us-central1-f,RUNNING 
... 

Per ulteriori informazioni sulle funzionalità di formattazione di gcloud, vedere l'output di gcloud topic formats e gcloud topic projections.


  1. È possibile visualizzare tutti i campi possibili eseguendo gcloud compute instances list --format=flattened.
  2. Per alcuni comandi, come gcloud beta test android locales list, è possibile passare il flag --verbosity=INFO e cercare INFO: Display format.
  3. Questo perché i dati CSV non possono essere nidificati come JSON o YAML e le strutture di dati stampate possono essere nidificate.