keisuke
keisuke

Reputation: 2273

Is there any way to get s3 uri from aws web console?

I want to download a directory from my s3.
When I need a file, the s3 management console (aws web console) allows me to download it, but when a directory, I have to use aws-cli, like:

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

My question is: Is there any way to get the s3 uri (s3://mybucket/mydirectory/) from s3 management console?
It's URL is available, but it is slightly different from s3 URI required by aws-cli. I could not find any menu to get the uri.

Thank you in advance!

Upvotes: 48

Views: 71010

Answers (7)

ashique
ashique

Reputation: 1285

You may fail to get s3uri if you are created a new bucket. You can get s3uri after creating a new folder in your bucket >> select check box to the newly created folder >> then copy the s3uri that appears at the top.

Upvotes: 0

albertteoh
albertteoh

Reputation: 371

It looks like this feature is now available in the AWS Web Console.

It is accessible in two ways:

  • Selecting the checkbox next to the file and clicking on "Copy S3 URI" button.

    enter image description here

  • Clicking on the file, and clicking on the "Copy S3 URI" button on the top right.

    enter image description here

Upvotes: 5

randalld-aws
randalld-aws

Reputation: 31

You can get the value from the console by selecting the file in the console. Choose Copy path on the Overview tab to copy the S3:// link to the object.

Upvotes: 3

It is possible to get the S3-URI for a proper key/file in the console, by selecting the key and clicking on the Copy path button, this will place the s3-URI for the file on the clipboard.

However, directories are not keys as such but just key prefixes, so this will not work for them.

Upvotes: 2

enharmonic
enharmonic

Reputation: 2098

To convert an S3 URL displayed in the console such as https://s3.us-east-2.amazonaws.com/my-bucket-name/filename to an S3 URI, remove the https://s3.us-east-2.amazonaws.com/ portion and replace it with s3://, like so:

s3://my-bucket-name/filename

Upvotes: 4

keisuke
keisuke

Reputation: 2273

(self-answer)

Because it seems there was no such way, I have created one:

pip install aws-s3-url2uri

And command aws_s3_url2uri will be available after installation.

This command internally converts the web console URLs to S3 URIs, so works with URLs and URIs and local paths:

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

calls

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

internally.

Upvotes: 11

John Rotenstein
John Rotenstein

Reputation: 270009

No, it is not displayed in the console. However, it is simply:

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

Directories are actually part of the key. For example, foo.jpg stored in an images directory will actually have a key (filename) of images/foo.jpg.

Upvotes: 64

Related Questions