列表对象返回控制台显示不存在的文件

时间:2018-10-28 21:28:28

标签: amazon-s3

特定目录上的

ListObjects返回一堆文件。在大多数情况下,返回的文件都存在,但有时它声称存在的某些文件似乎不存在。复制这些文件将返回错误:

  

NoSuchKey:指定的键不存在。状态码:404,请求ID:###,主机ID:###

看到此错误一段时间后,我决定打开版本控制,并确保足够的版本历史记录表明,其副本导致404的文件在控制台中显示为在列出和副本之前10分钟已被删除。 s3是否有可能比注意到文件不存在晚10分钟?

1 个答案:

答案 0 :(得分:1)

这很不寻常,但是有可能。

  

Amazon S3为覆盖所有区域的PUTS和DELETES提供最终的一致性。

     

...

     
      
  • 一个进程删除一个现有对象,并立即尝试读取它。在删除完全传播之前,Amazon S3可能会返回删除的数据。

  •   
  • 一个进程删除一个现有对象,并立即在其存储桶中列出密钥。在删除完全传播之前,Amazon S3可能会列出删除的对象。

  •   
     

https://docs.aws.amazon.com/AmazonS3/latest/dev/Introduction.html#ConsistencyModel