Google gsutil auth без запроса

Я хочу использовать gsutil внутри контейнера Docker. Я создал JSON-файл учетной записи службы O2Auth.

Как настроить gsutil auth для использования файла конфигурации JSON и выполнения команд без запроса?

Сейчас я получаю что-то вроде этого:

$ gsutil config -e
It looks like you are trying to run "/.../google-cloud-sdk/bin/bootstrapping/gsutil.py config".
The "config" command is no longer needed with the Cloud SDK.
To authenticate, run: gcloud auth login
Really run this command? (y/N) y
This command will create a boto config file at /.../.boto
containing your credentials, based on your responses to the following questions. 
What is the full path to your private key file? 

Какую команду / параметры / настройку я должен использовать для подсказок обстоятельств?


person blacklabelops    schedule 08.08.2015    source источник


Ответы (4)


Решил эту проблему, выполнив:

gcloud auth activate-service-account --key-file=/opt/gcloud/auth.json

Полный пример и готовый контейнер можно найти здесь: blacklabelops / gcloud

person blacklabelops    schedule 08.08.2015
comment
Есть ли способ авторизации с использованием env vars вместо файла json? - person William Chou; 23.07.2019

Если вы хотите использовать только gsutil и обойти приглашение, вы можете легко сделать это с помощью сценария ожидания:

#!/usr/bin/expect
spawn gsutil config -e
expect "What is the full path to your private key file?" { send "/path/your.key\r" }
expect "Would you like gsutil to change the file permissions for you? (y/N)" { send "y\r" }
expect "What is your project-id?" { send "your-projet-42\r" }
interact
person Luc Charpentier    schedule 09.09.2015

используя только gsutil:

сначала запустите эту команду, чтобы настроить аутентификацию вручную

gsutil config -a

Это создаст файл /root/.boto с необходимыми учетными данными. Скопируйте этот путь / файл в образ докера.

gsutil теперь будет работать с этими учетными данными.

person dansalmo    schedule 15.11.2016

-o Credentials:gs_service_key_file=<path to JSON file> хорошо работает, используя параметры переопределения конфигурации Boto, как описано на https://cloud.google.com/storage/docs/gsutil/addlhelp/TopLevelCommandLineOptions

$ gsutil -v
gsutil version: 4.57
$ gsutil -o Credentials:gs_service_key_file=key.json ls -al gs://bucket/filename
79948  2021-05-24T02:12:25Z  gs://bucket/filename#1111111145678393  metageneration=2
person Femi    schedule 26.05.2021