我想从我的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。
提前谢谢!
答案 0 :(得分:37)
不,它不会显示在控制台中。但是,它只是:
s3://<bucket-name>/<key>
目录实际上是key
的一部分。例如,存储在foo.jpg
目录中的images
实际上具有images/foo.jpg
的密钥(文件名)。
答案 1 :(得分:7)
(个体回答)
因为似乎没有这种方式,我创建了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/
内部。
答案 2 :(得分:1)
通过选择密钥并单击 Copy path <,可以在控制台中获取适当的 key / 文件的S3-URI。 / kbd>按钮,这会将文件的s3-URI放置在剪贴板上。
但是,目录本身并不是键,而只是键前缀,因此这不适用于它们。
答案 3 :(得分:1)
您可以通过在控制台中选择文件来从控制台获取值。在概述选项卡上选择复制路径,以将S3://链接复制到对象。
答案 4 :(得分:0)
要将控制台中显示的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