Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon s3 列表对象返回控制台显示的文件;不存在_Amazon S3 - Fatal编程技术网

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

Amazon s3 列表对象返回控制台显示的文件;不存在,amazon-s3,Amazon S3,在一个特定的目录上返回一堆文件。大多数情况下,返回的文件都存在,但有时它声称存在的一些文件似乎不存在。复制这些文件会返回一个错误: NoSuchKey:指定的密钥不存在。状态代码:404,请求id:####,主机id:### 在看到这个错误一段时间后,我决定打开版本控制,版本历史记录显示,其副本导致404的文件在控制台中显示为在列表和副本发布前10分钟被删除。s3是否有可能在发现文件不存在时落后10分钟?这是不寻常的,但这是可能的 AmazonS3为所有区域的覆盖放置和删除提供了最终的一致性

在一个特定的目录上返回一堆文件。大多数情况下,返回的文件都存在,但有时它声称存在的一些文件似乎不存在。复制这些文件会返回一个错误:

NoSuchKey:指定的密钥不存在。状态代码:404,请求id:####,主机id:###


在看到这个错误一段时间后,我决定打开版本控制,版本历史记录显示,其副本导致404的文件在控制台中显示为在列表和副本发布前10分钟被删除。s3是否有可能在发现文件不存在时落后10分钟?

这是不寻常的,但这是可能的

AmazonS3为所有区域的覆盖放置和删除提供了最终的一致性


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


  • 进程删除现有对象并立即列出其bucket中的键。在删除完全传播之前,AmazonS3可能会列出已删除的对象


这是不寻常的,但这是可能的

AmazonS3为所有区域的覆盖放置和删除提供了最终的一致性


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


  • 进程删除现有对象并立即列出其bucket中的键。在删除完全传播之前,AmazonS3可能会列出已删除的对象


“一个进程删除一个现有的对象并立即列出键…”听起来与我的情况最为接近,但我非常困惑,因为(1)这件事发生得非常突然,(2)它显示的文件在10分钟前被删除,这似乎不是“立即的”。我能要求AWS为我们的水桶做些什么来防止这种情况吗?这不是一个常见的问题。也有可能这只是一个控制台问题,对API的请求不会受到影响。AWS没有公开讨论很多“内部”问题,但很明显,控制台不是由S3提供的,而是一个单独的服务,它使用与SDK相同的API与S3进行通信(请参阅您的bucket日志以获得明确的证据),控制台可能正在进行某种“优化”这会导致列表在不应该缓存的情况下被缓存。“一个进程删除一个现有对象并立即列出键…”听起来与我的情况最为接近,但我非常困惑,因为(1)这种情况发生得非常突然,(2)它显示的文件在10分钟前被删除,这似乎不是“立即的”。我能要求AWS为我们的水桶做些什么来防止这种情况吗?这不是一个常见的问题。也有可能这只是一个控制台问题,对API的请求不会受到影响。AWS没有公开讨论很多“内部”问题,但很明显,控制台不是由S3提供的,而是一个单独的服务,它使用与SDK相同的API与S3进行通信(请参阅您的bucket日志以获得明确的证据),控制台可能正在进行某种“优化”这会导致在不应该缓存列表时缓存该列表。