所以,
假设我在S3中有一个名为 / example 的文件夹。此文件夹包含名为 a.txt 的文件。
使用AWS CLI,如何上传本地文件夹,也称为示例,并以原子方式替换当前的S3 / example 。本地文件夹包含名为 b.txt 的文件。
所以,我希望行为是新的 / example 文件夹只包含 b.txt 。
基本上,有没有办法原子通过AWS CLI用新的文件替换S3中的整个文件夹?
谢谢!
答案 0 :(得分:7)
不,你做不到。
对于初学者来说,S3是最终的一致平台。这意味着在您执行写入之后,您仍然可以从S3获取旧数据。实际上,这会快速收敛(秒),但没有上限。 (它们提供一致性保证是一些操作序列,但一般来说,它并不是非常一致)
其次,S3没有概念op“文件夹”或“目录”。 S3命名空间是扁平的。 object /example/a.txt
和/example/b.txt
的唯一共同点是它们以相同的字符串开头,就像/foobar.txt
和/foobaz.txt
一样开头相同的字符串。 (用户界面通过不同地处理/
字符并给出目录的错觉而做了一些作弊。