我计划使用Amazon S3存储数百万相对较小的文件(~100kB-2mB)。为了节省上传时间,我将它们组织成目录(每个目录数十/数百个文件),并决定使用TransferManager的uploadDirectory / uploadFileList。但是,在上传单个文件后,我需要在我的HDD和DB上执行特定操作。是否有任何方法(最好是实现观察者/听众)在特定文件上传完成后通知我,或者我只是能够验证整个MultipleFileUpload是否成功?
无论我使用Java SDK是否值得,但我应该能够根据自己的需要调整.NET / REST解决方案。
答案 0 :(得分:0)
意识到这并不是你所要求的,它非常甜蜜,似乎是一个合适的解决方案...
S3确实有通知,您可以将其配置为在创建或删除对象时(或者如果丢失的冗余对象丢失)提醒您。这些可以转到SQS,SNS或Lambda(甚至可能运行更新数据库的代码),当然如果您将它们发送到SNS,您可以将它们扇出到多个目的地。
但是,不要错误地选择您认为正在使用的上传子类型;除非您有特殊原因,否则请使用s3:ObjectCreated:*
事件。