Есть ли способ получить 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 для файла в буфер обмена.
Однако каталоги являются не ключами как таковыми, а просто префиксами ключей, поэтому для них это не сработает.