Как настроить aws CLI на s3 cp с анонимным пользователем

Мне нужно рекурсивно скачивать файлы из ведра s3. Корзина s3 обеспечивает анонимный доступ.

Как вывести список файлов и загрузить их без предоставления ключа доступа к AWS с помощью анонимного пользователя?

Моя команда:

aws s3 cp s3://anonymous@big-data-benchmark/pavlo/text/tiny/rankings/uservisits uservisit --region us-east --recursive

AWS сообщает, что:

Unable to locate credentials. You can configure credentials by running "aws настроить "


person Skarab    schedule 15.06.2015    source источник


Ответы (2)


вам, вероятно, придется предоставить ключи доступа и секретный ключ, даже если вы используете анонимный доступ. не вижу опции анонимности для AWS cli.

другой способ сделать это - попасть в конечную точку http и таким образом захватить файлы.

В вашем случае: http://big-data-benchmark.s3.amazonaws.com

Вы получите XML-список всех ключей в корзине. Вы можете извлекать ключи и выдает запросы для каждого. Не самый быстрый способ, но он выполнит свою работу.

Например: http://big-data-benchmark.s3.amazonaws.com/pavlo/sequence-snappy/5nodes/crawl/000741_0

для получения файлов curl должно хватить. для разбора xml в зависимости от того, что вам нравится, вы можете перейти на низкий уровень, как sed, и на высокий уровень, как на правильный язык.

надеюсь это поможет.

person Mircea    schedule 15.06.2015
comment
:) В конце концов, я так и сделал. Я использовал wget для получения индекса и загрузки файлов. - person Skarab; 16.06.2015

Вы можете использовать no-sign-request вариант

aws s3 cp s3://anonymous@big-data-benchmark/pavlo/text/tiny/rankings/uservisits uservisit --region us-east --recursive --no-sign-request

person Stan    schedule 14.03.2016
comment
Да, при использовании localstack это секрет. Спасибо! - person djangofan; 15.04.2018
comment
Что отлично работает не только для локального стека. Например, публичное ведро s3, вы можете запустить его локально aws s3 ls ryft-public-sample-data --no-sign-request - person Piazzolla; 09.07.2021