AWS CLI - S3如何以原子方式替换文件夹?

时间:2017-09-15 13:57:57

标签: amazon-web-services amazon-s3

所以,

假设我在S3中有一个名为 / example 的文件夹。此文件夹包含名为 a.txt 的文件。

使用AWS CLI,如何上传本地文件夹,也称为示例,并以原子方式替换当前的S3 / example 。本地文件夹包含名为 b.txt 的文件。

所以,我希望行为是新的 / example 文件夹只包含 b.txt

基本上,有没有办法原子通过AWS CLI用新的文件替换S3中的整个文件夹?

谢谢!

1 个答案:

答案 0 :(得分:7)

不,你做不到。

对于初学者来说,S3是最终的一致平台。这意味着在您执行写入之后,您仍然可以从S3获取旧数据。实际上,这会快速收敛(秒),但没有上限。 (它们提供一致性保证是一些操作序列,但一般来说,它并不是非常一致)

其次,S3没有概念op“文件夹”或“目录”。 S3命名空间是扁平的。 object /example/a.txt/example/b.txt的唯一共同点是它们以相同的字符串开头,就像/foobar.txt/foobaz.txt一样开头相同的字符串。 (用户界面通过不同地处理/字符并给出目录的错觉而做了一些作弊。