AWS Snow系列设备向S3传输文件时会触发什么事件?
S3事件触发器适配Snow系列设备归档逻辑问题
我正尝试将本地Drobo设备中的文件传输到S3深度归档存储(S3 Deep Archive)。由于S3深度归档的存储计费规则,归档8KB或更小的对象完全不划算——无论对象实际大小多少,都需要按8KB的标准存储容量付费。S3自带的生命周期规则无法实现这个阈值判断逻辑,因此我自行编写了Lambda函数来处理。
目前我给这个Lambda配置的触发器仅响应ObjectCreated:Put事件,在简单的线上测试场景中运行正常,但我对两个情况存疑:
- 使用Snowcone或Snowball设备做离线传输时,
ObjectCreated:Put触发器能否正常触发 - Lambda完成文件归档操作后,自身会触发
ObjectCreated:Copy事件,容易造成重复执行
为了让这套归档逻辑适配Snowcone/Snowball设备,我需要明确:将文件从Snow系列设备传输到S3时,会生成什么类型的事件?
我之前考虑过两个备选方案:
- 用DynamoDB存储已经完成归档的文件名作为去重参考,但如果能明确Snow设备的S3事件类型,这套方案就完全没有必要
- 采用简单粗暴的处理逻辑:对接收到的每一个事件都强制执行归档操作,按照我了解的AWS定价规则,查询对象当前存储类的成本和尝试变更存储类的成本差不多,不会产生过高的额外开销
我已经查阅了所有公开文档,包括长达184页的Snowcone用户指南PDF。公开文档中提到Put和Post事件对应HTTP相关的上传操作,但我判断这份文档发布时Snow系列产品还未上线,参考价值有限。我也在Twitter上询问过Jeff Barr,暂时还没有收到回复。希望有实际使用过Snow系列设备做离线数据传输的用户可以解答这个问题。
内容的提问来源于stack exchange,提问作者Frank
相关产品推荐
相关产品推荐

