Amazon S3 - 有没有办法验证属于MultipleFileUpload的单个文件是否已完成上传?

时间:2016-02-21 10:14:36

标签: java amazon-web-services amazon-s3 awss3transfermanager

我计划使用Amazon S3存储数百万相对较小的文件(~100kB-2mB)。为了节省上传时间,我将它们组织成目录(每个目录数十/数百个文件),并决定使用TransferManager的uploadDirectory / uploadFileList。但是,在上传单个文件后,我需要在我的HDD和DB上执行特定操作。是否有任何方法(最好是实现观察者/听众)在特定文件上传完成后通知我,或者我只是能够验证整个MultipleFileUpload是否成功?

无论我使用Java SDK是否值得,但我应该能够根据自己的需要调整.NET / REST解决方案。

1 个答案:

答案 0 :(得分:0)

意识到这并不是你所要求的,它非常甜蜜,似乎是一个合适的解决方案...

S3确实有通知,您可以将其配置为在创建或删除对象时(或者如果丢失的冗余对象丢失)提醒您。这些可以转到SQS,SNS或Lambda(甚至可能运行更新数据库的代码),当然如果您将它们发送到SNS,您可以将它们扇出到多个目的地。

http://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#notification-how-to-event-types-and-destinations

但是,不要错误地选择您认为正在使用的上传子类型;除非您有特殊原因,否则请使用s3:ObjectCreated:*事件。