Qual è il modo più semplice di utilizzare la gcloud
riga di comando in modo non interattivo con un account di servizio al di fuori di GCE? Preferibilmente senza sporcare il file system con file di credenziali, che è ciò che gcloud auth activate-service-account --key-file=...
fa.
Esistono molti casi d'uso da utilizzare gcloud
con un account di servizio. Ad esempio, su un server, vorrei verificare che GOOGLE_APPLICATION_CREDENTIALS
sia impostato correttamente e disponga delle autorizzazioni necessarie prima di eseguire la mia applicazione. Oppure, vorrei eseguire alcuni script di installazione o cron script che eseguono un controllo con la gcloud
riga di comando.
Le librerie di Google Cloud (ad esempio python , java ) utilizzano automaticamente la variabile d'ambiente GOOGLE_APPLICATION_CREDENTIALS
per autenticarsi su Google Cloud. Sfortunatamente, questa riga di comando sembra non avere alcun effetto gcloud
. Qual è un modo pulito da usare gcloud
lasciando intatto il filesystem?
$ GOOGLE_APPLICATION_CREDENTIALS=/etc/my-service-account-4b4b6e63aaed.json gcloud alpha pubsub topics publish testtopic hello
ERROR: (gcloud.alpha.pubsub.topics.publish) You do not currently have an active account selected.
Please run:
$ gcloud auth login
to obtain new credentials, or if you have already logged in with a
different account:
$ gcloud config set account ACCOUNT
to select an already authenticated account to use.