【问题标题】:Alert if the contents of an S3 folder is not deleted by specific time如果 S3 文件夹的内容未在特定时间删除时发出警报
【发布时间】:2021-08-06 02:39:53
【问题描述】:

谁能建议我如何实现这个特定的用例? 每天早上来自本地服务器的 python 作业

  • 清除 S3 文件夹内容,然后
  • 先从数据库中提取文件,然后
  • 将提取的文件上传到上述 S3 文件夹。

有时,计划通过 Windows 任务调度程序运行的 python 脚本只是在几秒钟内开始和完成,而没有做任何工作。 为了在发生这种情况时发送警报通知,我正在考虑编写一个计划在 5 分钟后运行的 lambda,以查看文件夹内容是否在最后几分钟内被删除到 SNS 主题。这是可行的吗?这里的 lambda 触发器不是 S3 事件,而是可以读取 S3 删除操作的计划事件。

【问题讨论】:

    标签: python amazon-web-services aws-lambda amazon-sns


    【解决方案1】:

    当然,你可以这样做。

    一种更简单的方法可能是在 Windows 任务的末尾添加一个步骤,该步骤基本上显示“作业已成功完成”。它可以将此文件上传到 S3。

    然后,计划的 AWS Lambda 函数可以简单地检查该文件的 LastModified 日期。如果超过一小时(或其他任何时间),则通过 Amazon SNS 发送警报。

    【讨论】:

    • 这个解决方案更加简单和容易。谢谢!!
    【解决方案2】:

    在 AWS 上: 您可以在支持事件类型 s3:ObjectRemoved:, s3:ObjectCreated: 的 s3 存储桶上设置事件通知器,其中事件通知可以在 SNS 主题上 [https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-event-notifications.html]

    【讨论】:

      【解决方案3】:

      您可以创建一个 Lambda 函数,然后使用计划的事件根据 CRON 表达式触发它。这是一个用 Java 实现的示例,但它会让您了解如何安排 Lambda 函数:

      https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javav2/usecases/creating_scheduled_events

      【讨论】:

        猜你喜欢
        • 2020-04-28
        • 2021-09-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多