Аутентификация с помощью Google Cloud SDK без учетной записи службы - PullRequest
0 голосов
/ 16 апреля 2020

Запуск из локальной записной книжки Jupyter.

Я пытаюсь выполнить очень простую задачу загрузки файла из хранилища GCP, используя следующий код:

from google.cloud import storage

# Initialise a client
storage_client = storage.Client("gcpkey.json")
# Create a bucket object for our bucket
bucket = storage_client.get_bucket("gcp_bucket")
# Create a blob object from the filepath
blob = bucket.blob("file_in_bucket_I_want.file")
# Download the file to a destination
blob.download_to_filename("destination_file_name")

Важно, что я хочу использовать мою учетную запись конечного пользователя, и не может использовать служебную учетную запись. Я нахожу Google DOCS невероятно запутанным. Может кто-нибудь сказать мне, где взять ключ gcp json и является ли он таким же простым, как приведенный выше фрагмент кода, или мне нужно добавить несколько промежуточных шагов?

Когда я просматриваю связанные документы, меня отправляют на портал OAuth, и когда я вхожу через Google, я получаю это сообщение об ошибке:

This app isn't verified
This app hasn't been verified by Google yet. Only proceed if you know and trust the developer.

If you’re the developer, submit a verification request to remove this screen. Learn more

1 Ответ

3 голосов
/ 16 апреля 2020

Проще всего было бы просто запустить

gcloud auth application-default login

А затем в сценарии просто:

storage_client = storage.Client()

И он получит учетные данные из среды.

В качестве альтернативы вы можете выполнить это сделать c до go через экран согласия OAuth и сгенерировать секрет клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...