如果存储桶中 5 或 10 分钟没有收到数据,如何为 s3 存储桶设置云监视警报?



我有一个 s3 存储桶,每 3 分钟上传一个 tar 文件。现在我想设置警报通知,如果 s3 文件在 5 分钟内没有收到任何数据,我应该通过电子邮件收到通知。不幸的是,我无法在云监视 s3 中找到任何此类指标。如果有人对此有解决方案,请告诉我。

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分钟,则触发通知

最新更新