Есть ли способ получить s3 uri из веб-консоли aws?

Я хочу загрузить каталог из моего s3.
Когда мне нужен файл, консоль управления s3 (веб-консоль aws) позволяет загрузить ее, но когда в каталоге мне нужно использовать aws-cli, например:

$ aws s3 cp s3://mybucket/mydirectory/ . --recursive

Мой вопрос: есть ли способ получить s3 uri (s3://mybucket/mydirectory/) из консоли управления s3?
Этот URL доступен, но он немного отличается от URI s3, который требуется aws-cli. Я не мог найти ни одного меню, чтобы получить uri.

Заранее спасибо!

Ответ 1

(Самообеспечение ответ)

Поскольку, кажется, не было такого способа, я создал один:

pip install aws-s3-url2uri

И команда aws_s3_url2uri будет доступна после установки.

Эта команда внутренне преобразует URL-адреса веб-консоли в URI S3, поэтому работает с URL-адресами, URI и локальными путями:

aws_s3_url2uri ls "https://console.aws.amazon.com/s3/home?region=<regionname>#&bucket=mybucket&prefix=mydir/mydir2/"

звонки

aws s3 ls s3://mybucket/mydir/mydir2/

внутренне.

Ответ 2

Нет, он не отображается в консоли. Однако это просто:

s3://<bucket-name>/<key>

Каталоги на самом деле являются частью key. Например, foo.jpg хранящийся в каталоге images, фактически будет иметь ключ (имя файла) images/foo.jpg.

Ответ 3

Чтобы преобразовать URL-адрес S3, отображаемый в консоли, например https://s3.us-east-2.amazonaws.com/my-bucket-name/filename в URI S3, удалите https://s3.us-east-2.amazonaws.com/ и замените его на s3://, вот так:

s3://my-bucket-name/filename

Ответ 4

Можно получить S3-URI для правильного ключа/файла в консоли, выбрав ключ и нажав кнопку Copy path, это поместит s3-URI для файла в буфер обмена.

Однако каталоги являются не ключами как таковыми, а просто префиксами ключей, поэтому для них это не сработает.