为什么 AWS S3 使用对象而不是文件和目录

Sai*_*nki 4 amazon-s3 amazon-web-services

为什么 AWS S3 使用对象而不是文件和目录 s3 中没有目录/文件夹有什么具体原因吗

Joh*_*ein 7

欢迎您使用 Amazon S3 中的目录/文件夹。但是,请注意它们实际上并不存在。

Amazon S3 不是文件系统。它是一种高度可扩展的对象存储服务,每秒存储数万亿个对象并为数百万个对象提供服务。为了满足如此规模的需求,它被设计为Key-Value存储。文件的名称是Key,文件的内容是Object

当一个文件上传到某个目录(例如cat.jpg存储在该images目录中)时,实际上是以images/cat.jpg. 这使得它看起来images目录中,但实际情况是该目录不存在——相反,对象的名称包含完整路径

这不会影响您对 Am​​azon S3 的正常使用。但是,无法重命名目录,因为该目录不存在。相反,重命名文件以重命名目录。例如:

aws s3 mv s3://my-bucket/images/cat.jpg s3://my-bucket/pictures/cat.jpg
Run Code Online (Sandbox Code Playgroud)

这将导致pictures目录神奇地出现,cat.jpg里面有。不需要先创建该目录,因为它实际上并不存在。这是因为用户界面使其看起来好像有目录。

底线:随意使用目录,但请注意它们实际上并不存在并且无法重命名。