Извлекать контент из общедоступной корзины AWS S3 из хранилища данных GCP - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь получить содержимое корзины s3://open-images-dataset из хранилища данных GCP через gsutil или службу передачи. Я использую следующую команду в случае альтернативы командной строки:

gsutil -m -o GSUtil:parallel_composite_upload_threshold=150M cp -r --no-sign-request s3://open-images-dataset gs://<bucket-name>

Проблема здесь в том, что s3://open-images-dataset является общедоступным и обычно делают --no-sign-request при загрузке его в локальный каталог. Однако, насколько мне удалось увидеть, GCP не позволяет ни одной возможности обойти эту проблему. Есть идеи об этой проблеме?

Я не могу сначала загрузить его на свой локальный компьютер, потому что содержимое корзины слишком велико.

Ответы [ 2 ]

0 голосов
/ 17 сентября 2018

В настоящее время это невозможно, но в библиотеку boto выдан PR .

0 голосов
/ 14 сентября 2018

gsutil использует библиотеку Boto для связи с S3. После небольшого разбора кода кажется, что Boto позволяет указать, что отдельное соединение должно быть анонимным ... но похоже, что для исправления всех соединений S3 для данного сеанса потребуется исправление библиотеки Boto. анонимно (т. е. установка параметра конфигурации Boto, например, «no_sign_request = True» в разделе [s3]).

Когда я пытаюсь перечислить этот сегмент с установленными учетными данными AWS через gsutil ls s3://open-images-dataset, подписанный запрос завершается успешно. Учитывая, что это работает, есть ли какая-то особая причина, по которой вы не хотите, чтобы запрос был подписан?

Редактировать

Я отправил этот запрос на добавление поддержки no_sign_request в Boto:

https://github.com/boto/boto/pull/3833

Это будет в следующей версии Бото, когда они решат выпустить его. В этот момент gsutil может получить новую версию и включить ее в последующий выпуск.

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