我必须从php中的一个文件夹或另一个S3存储桶移动所有文件和文件夹。我知道做同样事情的方法是 - 1)从源文件夹中获取所有对象列表 2)将所有对象复制到目标文件夹中 3)从源文件夹中删除所有对象
还有其他简短的方法可以做到这一点。如果是,那么请与我分享,我们将不胜感激,提前致谢
答案 0 :(得分:4)
还有其他简短方法可以做同样的事情
没有简短的方法可以做到这一点。
原因如下:
文件夹的概念对于控制台是唯一的。 Amazon S3使用存储桶和对象,但该服务本身不支持文件夹,也不提供任何API来处理文件夹。
为了帮助您整理数据,Amazon S3控制台支持文件夹的概念。 [...]
重要强>
在Amazon S3中,您可以创建存储桶和存储对象。该服务不支持您在典型文件系统中看到的任何层次结构。
控制台使用对象键名来派生文件夹层次结构。它使用" /"用于推断层次结构的键名称中的字符
http://docs.aws.amazon.com/AmazonS3/latest/UG/about-using-console.html
"移动"文件到另一个"文件夹,"在S3中,实际上无法做到。它只能是模拟,通过制作每个单独对象的副本,为每个对象赋予新的"层次结构的新密钥名称,"然后删除原件。 S3甚至不支持重命名单个对象。重命名也可以通过使用新名称进行复制,然后删除原始文件来完成。控制台给出了支持这些操作的外观,但它实际上只模仿它们,如上所述。这是S3设计的一个有意识的部分。
答案 1 :(得分:2)
按照此链接将文件夹和文件从一个存储桶移动到另一个存储桶:
http://www.codewithasp.net/2015/03/aws-s3-move-files-folders-from-dotnet-sdk.html
答案 2 :(得分:2)