如果5或10分钟内未在存储桶中接收到任何数据,如何为s3存储桶设置云监视警报?

时间:2019-11-27 05:40:06

标签: amazon-web-services amazon-s3 amazon-cloudwatch

我有一个s3存储桶,其中每3分钟上传一个tar文件。现在,如果s3文件在5分钟内未收到任何数据,我想设置警报通知,我应该收到一封电子邮件通知。不幸的是,我无法在cloud-watch s3中找到任何此类指标。请让我知道是否有人对此有解决方案。

1 个答案:

答案 0 :(得分:1)

Amazon CloudWatch对每个Amazon S3存储桶都有一个NumberOfObjects指标。

但是,我不确定它多久更新一次。当然不会有5分钟的分辨率。

此外,没有警报表示“如果此数字未更改”。

如果您的存储桶中没有很多对象(例如<1000),则一种方法是:

  • 创建 Amazon CloudWatch Events规则以触发AWS Lambda函数
  • Lambda函数将调用list_bucket()以从存储桶中检索对象列表,然后按LastModified
  • 进行排序
  • 如果自新文件以来已超过 x 分钟,则触发通知

如果存储桶中有许多个对象,则:

  • 创建一个 Amazon S3事件以在将对象 添加到存储桶时触发AWS Lambda函数
    • Lambda函数应使用当前时间戳更新数据库(例如DynamoDB)
  • 创建 Amazon CloudWatch Events规则以触发AWS Lambda函数
    • Lambda函数将从数据库中检索时间戳并将其与当前时间进行比较
    • 如果自添加新文件以来已超过 x 分钟,则触发通知