Amazon S3检查文件是否已完全上载

时间:2016-06-07 10:35:02

标签: .net amazon-web-services amazon-s3

我有两个服务,一个以异步方式上传到S3,第二个服务是后处理器,对上传的文件进行一些额外处理。

我遇到的问题是在第二个服务中请求文件过快时,S3客户端认为文件存在是因为密钥存在,但整个文件尚未上传,所以异常扔了。

如果我执行阻止上传,它会起作用,但性能非常差。

有没有办法检查S3的文件是否已完全上传?

2 个答案:

答案 0 :(得分:0)

使用temp作为密钥名称的前缀,然后在完成上传后将其重命名为原始文件名,以便下一个服务检查原始文件名,并在原始文件存在时执行操作。

答案 1 :(得分:0)

如果您使用AWS S3控制台在存储桶上启用S3事件,则会发送文件创建完成事件,以告知您上载完成的时间。这些事件可能会发布到SNS,SQS或AWS Lamba。