Назад | Перейти на главную страницу

Конфигурация gsutil для облачного хранилища Google

Я пытался запустить тестовый пример телеметрии в google chrome, который требует загрузки некоторых тестовых файлов из облачного хранилища google. Когда я запускаю тестовый пример, я получаю следующую ошибку. Ошибка говорит, что мне нужно настроить gsutil перед доступом, но даже после настройки gsutil с указанными шагами я получаю ту же ошибку. После настройки gsutil создается файл ".boto". Поэтому я не понимаю, почему я получаю ту же ошибку.

PermissionError: Attempted to access a file from Cloud Storage but you don't have permission. To configure your credentials:
  1. Run "tools/telemetry/third_party/gsutil/gsutil config" and follow its instructions.
  2. If you have a @google.com account, use that account.
  3. For the project-id, just enter 0.

Locals:
  args        : ['cp', 'gs://chrome-partner-telemetry/da1c09dd48dcd2eb76449d97c4fa38460d3a1e8d', '/home/sriram/android/chromeopensource/androidbuild/src/tools/perf/page_sets/tough_video_cases/crowd1080.mp4']
  gsutil      : <subprocess.Popen object at 0x30807d0>
  gsutil_env  : None
  gsutil_path : 'tools/telemetry/third_party/gsutil/gsutil'
  stderr      : 'AccessDeniedException: 403 Forbidden\n'
  stdout      : ''

gsutil будет использовать файл ~ / .boto. По умолчанию gsutil будет искать файл конфигурации в /etc/boto.cfg и ~ / .boto.

Если эти файлы не существуют, вместо них будет использоваться legacy_credentials.

Вы можете изменить все это поведение, изменив параметры среды BOTO_PATH и BOTO_CONFIG.

Вот документация о том, как использовать эти переменные среды.

BOTO_PATH: gsutil загрузит каждый файл конфигурации, найденный в пути, по порядку. Вы можете использовать эту переменную среды, если хотите поделиться конфигурацией boto среди пользователей. Пример будет примерно таким:

BOTO_PATH=/etc/group/.boto.cfg:/home/user/.boto 

BOTO_CONFIG: используйте эту переменную, чтобы установить порядок предпочтений. Пример будет примерно таким:

BOTO_CONFIG=~/testa/.boto:~/testb/.boto . 

При этом предпочтение отдавалось бы загрузочному файлу testa. Если его там нет, то gsutil загрузит testb boto.

Ваш сторонний инструмент не запрашивает конкретный идентификатор проекта:

For the project-id, just enter 0

Я не знаю этого инструмента, но использую команду Google Cloud «конфигурация gsutil”А /home/<user>/.boto файл создан (вы можете редактировать этот файл). вам будет предложено ввести идентификатор проекта, а также «логин gcloud auth» для регистрации «gs_oauth2_refresh_token».

Даже если вы используете сторонний инструмент, он должен быть более или менее таким же, как и построен. при запуске конфигурации gsutil посмотрите на вывод, он должен сказать, где создан ваш файл Boto.

я создал один, чтобы проверить с помощью Google Cloud "конфигурация gsutil”:

Boto config file "/home/eric/.boto" created. If you need to use a
proxy to access the Internet please see the instructions in that file.

мой файл /.boto:

# This file contains credentials and other configuration information needed
# by the boto library, used by gsutil. You can edit this file (e.g., to add
# credentials) but be careful not to mis-edit any of the variable names (like
# "gs_access_key_id") or remove important markers (like the "[Credentials]" and
# "[Boto]" section delimiters).
#
# This file was created by gsutil version 4.10 at 2015-03-16 19:48:14.

....
gs_oauth2_refresh_token=xxxxxxxxxxxxxxxxxxxxxxxx
....

не стесняйтесь удалять или обновлять этот файл, вы всегда сможете воссоздать его с помощью «конфигурация gsutil" при необходимости.