AWS S3如何存储文件?(目录结构)

Adi*_*oui 0 php file-upload amazon-s3 amazon-web-services symfony

我们处于开发阶段.我们计划使用专用的infrastcrutre,但将决定交换到AWS云.

关于上传图像的目录结构实现如下:

WEB_ROOT\{年份}\{}一个月\ {}天\ {类型} _ {} filename_md5_hash .JPEG

其中类型是s小图像或o原始大小.使用过滤器创建小图像.

问题是我听说AWS S3没有让你控制存储桶中的目录结构.

你宝贵的解释总是很有帮助.谢谢

Rem*_*eau 6

AWS S3文档中对此进行了介绍:

使用文件夹

在Amazon S3中,存储桶和对象是主要资源,其中对象存储在存储桶中.Amazon S3具有扁平结构,没有您在典型文件系统中看到的层次结构.但是,为了简化组织,Amazon S3控制台支持将文件夹概念作为对对象进行分组的方法.Amazon S3通过使用对象的键名前缀来完​​成此操作.

例如,您可以在控制台中创建一个名为的文件夹photos,并存储在其中调用的对象myphoto.jpg.然后使用密钥名称存储对象photos/myphoto.jpg,其中photos/是前缀.

...

您可以在文件夹中包含文件夹,但不能在存储桶中包含存储桶.您可以将对象直接上载和复制到文件夹中.可以创建,删除和公开文件夹,但不能重命名它们.对象可以从一个文件夹移动到另一个文件夹.

因此,您确实可以使用存储桶中类似的文件夹结构将文件上传到S3:

http://{bucket}.{endpoint}.amazonaws.com/web_root/{year}/{month}/{day}/{type}_{filename_md5_hash}.jpeg

要么

http://{endpoint}.amazonaws.com/{bucket}/web_root/{year}/{month}/{day}/{type}_{filename_md5_hash}.jpeg