lea*_*hru 1 amazon-s3 amazon-web-services amazon-cloudwatch-events
我对对象的流量生命周期(即创建和删除对象的时间)感兴趣。一种方法是定期扫描存储桶并明确跟踪lastModifiedTime并与之前的扫描结果进行比较以识别已删除的对象。
我正在考虑的另一个替代方案是启用 S3 事件通知。但是,通知中的数据不包含该对象的lastModifiedTime。可以eventTime用作代理吗?是否能保证事件发送的速度?就我而言,如果事件的交付延迟是可以接受的;只要eventTime不晚于modificationTime对象的时间
另外,还有其他替代方法来捕获 s3 对象的生命周期吗?
是的,这是一个非常好的物体eventTime近似值。lastModifiedTime这里需要注意的是 的定义lastModifiedTime是
对象创建日期或上次修改日期,以最新者为准。
因此,为了用作eventTime近似值,您可能需要一个触发器来涵盖创建或修改对象的所有事件。关于您的事件发送速度的问题,这里引用 S3 文档:
Amazon S3 事件通知设计为至少传送一次。通常,事件通知会在几秒钟内传送,但有时可能需要一分钟或更长时间。
如果想要准确lastModifiedTime,则需要headObject对每个对象进行操作。
您的第一个定期拉动方法可能会起作用,但请注意,如果您有数百万个对象,请不要天真地这样做。我的意思是不要使用listObjects并在 while 循环中执行它。这根本无法扩展,而且listObjectsAPI 非常昂贵。如果您只需要每天或每周一次进行流量分析,我建议使用 S3 inventory。这lastModifiedTime包含在库存报告中。[参考]
| 归档时间: |
|
| 查看次数: |
1781 次 |
| 最近记录: |