【发布时间】:2021-11-29 15:58:20
【问题描述】:
好的,第一件事;我知道 S3 没有“目录”,它们都是恰好具有相同 Key 前缀且名称中带有斜杠的对象……因此,无需评论或回答 S3 没有目录!
虽然,很多软件都在“检测”带有斜杠的键作为目录,我们使用的 SFTP 服务器软件就是其中之一。我们托管了一个使用 AWS S3 作为“文件系统”的 SFTP 服务器,其中有一个带有“目录”的存储桶,存储桶根目录中的每个目录都是一个 SFTP 用户主目录。
问题在于 AWS 正在删除空的“目录”(以斜杠结尾的零字节对象),因此如果 SFTP 用户删除了他们所有的文件(或者他们还没有收到任何文件)AWS 会删除“目录”,然后当目录消失时,用户尝试连接到我们的 SFTP 时出现错误。
一个明显的解决方案是添加一个“阻止程序”文件,例如readme.txt 或类似于“目录”,所以那里有一些东西,但大多数客户似乎也删除了这些......还有一些其他的东西可能会“锁定”(例如对象锁定)文件被删除但是如果 SFTP 客户端尝试删除所有文件,这反过来又会导致错误,我们希望避免抛出错误(并显示不必要的文件)...
那么,有什么方法可以阻止 AWS S3 删除空的“目录”?
【问题讨论】:
-
请将您的问题移至Super User(在此处删除,在此处重新发布)。这是off-topic here。在那里重新发布时,请告诉我们更多关于“我们托管使用 AWS S3 作为“文件系统”的 SFTP 服务器'。这是您的自定义解决方案吗?还是您使用的是 Amazon SFTP?跨度>
标签: amazon-web-services amazon-s3