Qual è il modo più semplice di utilizzare la gcloudriga 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 gcloudcon un account di servizio. Ad esempio, su un server, vorrei verificare che GOOGLE_APPLICATION_CREDENTIALSsia 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 gcloudriga di comando.
Le librerie di Google Cloud (ad esempio python , java ) utilizzano automaticamente la variabile d'ambiente GOOGLE_APPLICATION_CREDENTIALSper autenticarsi su Google Cloud. Sfortunatamente, questa riga di comando sembra non avere alcun effetto gcloud. Qual è un modo pulito da usare gcloudlasciando 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.