Si te encuentras con alguna parte que no comprendes puedes dejarnos un comentario y trataremos de ayudarte tan rápido como podamos.
Solución:
Solución 1:
gcloud
generalmente no usa GOOGLE_APPLICATION_CREDENTIALS
Variable ambiental. Solo tiene algunos comandos para facilitar la configuración de estas credenciales predeterminadas de la aplicación en gcloud auth application-default [login|revoke|print-access-token...]
.
Por defecto gcloud
almacena su configuración en $HOME/.config/gcloud. Es posible anular esa ubicación configurando CLOUDSDK_CONFIG
Variable ambiental.
También es posible (aunque más tedioso) anular la mayoría de las configuraciones para que no sea necesario preconfigurarlas a través de gcloud config set ...
y/o gcloud auth activate-service-account
. Para cada configuración, se puede especificar una variable de entorno.
Por ejemplo, el comando equivalente que intentaste usar cuenta de servicio key el archivo seria:
$ CLOUDSDK_AUTH_CREDENTIAL_FILE_OVERRIDE=/etc/my-service-account-4b4b6e63aaed.json
gcloud alpha pubsub topics publish testtopic hello
Tenga en cuenta que esto aún almacenará en caché las credenciales en CLOUDSDK_CONFIG
ya que necesita almacenar en caché el token de acceso, para que no tenga que actualizarlo en cada invocación.
Para su caso de uso, la mejor opción en mi opinión sería
- Establecer
CLOUDSDK_CONFIG
a algún directorio temporal gcloud auth activate-service-account --key-file=...
- … usar
gcloud
para hacer tu trabajo… - Quitar temperatura
CLOUDSDK_CONFIG
directorio.
Solución 2:
1) Cree una cuenta de servicio en GCP IAM. Marque la casilla para “Amueblar un nuevo privado key” y seleccione JSON como tipo de archivo.
2) Descargue el archivo JSON a su servidor y escriba:
gcloud auth activate-service-account --key-file serviceaccount.json
3) Verifique que se hayan aplicado las credenciales ejecutando gcloud auth list
.
Calificaciones y reseñas
Te invitamos a añadir valor a nuestro contenido dando tu experiencia en las notas.