AWS Step / Lambda – 在运行之间存储variables

在我第一次涉足云计算时,我能够遵循Mark West关于如何使用AWS Rekognition处理来自安全摄像机的图像的指示 ,这些图像被转储到S3存储桶中,并在检测到人员时提供通知。 他的代码是为Raspberry Pi相机设置的,但是我可以通过将触发的图像通过FTP传输到Synology NAS,并使用CloudSync将其镜像到S3存储桶,从而将其适配到我的IP摄像机。 按照下图的步骤函数调用Lambda函数,并在15秒内收到一封电子邮件,附带检测到的标签列表和附加的图像。

步骤功能

问题是,只要条件被触发,照相机就会每秒上传一张图像,如果在照相机前面有很多活动,我可以快速地处理几百封电子邮件。

我想在make-alert-decision和nodemailer-send-notification之间插入一个函数来检查是否在最后一分钟内发送了电子邮件通知,如果没有,请立即转到nodemailer-send-notification,如果因此,将标签列表和path存储到数组中,然后在60秒内发送一封包含所有附件的电子邮件。

我知道我必须从外部存储数据,并且遇到这篇文章解释了不同的caching数据方法的好处,我还认为我可以检查上传到S3的文件的时间戳,比较两个最近上传文件来决定是否继续或batch file以备后用。

作为AWS的新手,我正在寻找从复杂性和成本angular度来看哪种方法最有意义的build议。 我可以忍受文章中讨论的任何方法的滞后,只是不知道如何继续,因为我从来没有使用甚至听说过任何服务。

谢谢!

您可以使用lambda make-alert-decision发送消息的SQS queue ,每个标签和path都是附件。

lambda nodemailer-send-notification将成为该队列的使用者,但会按照定期计划执行 。

您可以指定每隔1分钟执行一次lambda,从队列中读取所有消息,并立即从队列中删除它们,或设置适当的可见性时间,然后删除,以获取附件列表并发送单个电子邮件。 我们每60秒会收到一封包含所有附件的电子邮件。