在S3上创建文件文件夹



当前,我的S3存储桶包含文件。我想为S3上的每个文件创建一个文件夹。

当前->s3://<bucket>/test.txt

期望->s3://<bucket>/test/test.txt

如何使用EC2实例实现这一点?

S3没有"文件夹";实际上,对象名称中可能包含/字符,这在某种程度上模仿了文件夹。只需将您的对象命名为test/<filename>即可实现这一点。有关更多信息,请参阅S3文档。

至于从EC2进行操作,这与从其他任何地方进行操作没有什么不同(除了,在EC2中,您可能可以依赖IAM配置文件,而不是使用特别凭据(。如果你尝试过但失败了,也许可以发布一个包含更多细节的新问题。

如果您有Linux,您可以尝试以下操作:

aws s3 ls s3://bucket/ | while read date time size name; do aws s3 mv s3://bucket/${name} s3://bucket/`echo ${name%.*}`/${name}; done

它不依赖于EC2实例。您可以使用EC2实例或其他来源的aws-cli,并放置所需的路径,例如s3://test/test.txt。如果您愿意,您甚至可以更改要复制到s3 bucket中的文件的名称,甚至更改其扩展名。

最新更新