有没有办法从 aws web 控制台获取 s3 uri?

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

我想从我的 s3 下载 一个目录
当我需要一个文件时,s3管理控制台(aws web控制台)允许我下载它,但是当一个目录时,我必须使用aws-cli,例如:

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

我的问题是:有什么方法可以从 s3 管理控制台获取 s3 uri (s3://mybucket/mydirectory/)?
它的 URL 可用,但它与 aws-cli 所需的 s3 URI 略有不同。我找不到任何菜单来获取 uri。

提前致谢!

不,它没有显示在控制台中。然而,它只是:

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

目录实际上是 key 的一部分。例如,存储在 images 目录中的 foo.jpg 实际上将具有 images/foo.jpg.

的键(文件名)

(自答)

因为好像没有这种方法,所以我创建了one:

pip install aws-s3-url2uri

并且命令 aws_s3_url2uri 将在安装后可用。

此命令在内部将 Web 控制台 URL 转换为 S3 URI,因此适用于 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/

内部。

要将控制台中显示的 S3 URL(例如 https://s3.us-east-2.amazonaws.com/my-bucket-name/filename)转换为 S3 URI,请删除 https://s3.us-east-2.amazonaws.com/ 部分并将其替换为 s3://,如下所示:

s3://my-bucket-name/filename

可以在控制台中获取正确 key/file 的 S3-URI,方法是选择密钥并单击在 复制路径 按钮上,这会将文件的 s3-URI 放在剪贴板上。

但是,目录本身不是键,而只是键前缀,因此这对它们不起作用。

您可以通过在控制台中选择文件来从控制台获取值。在概览选项卡上选择复制路径,将S3://link复制到对象。

看起来这个功能现在可以在 AWS Web 控制台中使用了。

可以通过两种方式访问​​:

  • 选中文件旁边的复选框并单击“复制 S3 URI”按钮。

  • 单击文件,然后单击右上角的“复制 S3 URI”按钮。

新创建的bucket可能获取不到s3uri。 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.