首页 > 解决方案 > AWS Lambda 函数完成触发另一个 lambda 函数

问题描述

我正在尝试将 lambda 函数串在一起。第一个 lambda 函数在 30 分钟的计时器上抓取数据并将其放入 S3 存储桶中,下一个 lambda 函数检索并解析该数据并将其放入单独的 S3 存储桶中,最后一个函数对该数据执行分析并发送用户(在这种情况下是我自己)通过 pythons smtplib 模块发送结果的电子邮件。

我不想让最后两个 lambda 函数在计时器上运行,而是希望在第一个函数完成时触发第二个函数,并在第二个函数完成时触发最后一个函数。此外,删除第一个 S3 存储桶中的两个文件夹和第二个 S3 存储桶中的内容以节省内存和处理时间。

有没有办法在 AWS Web 界面中完全做到这一点,而不是重写我已经拥有的 python 代码?

标签: pythonamazon-web-servicesamazon-s3aws-lambda

解决方案


这听起来像您有一个可以通过step functions实现的用例。

您将添加一个调用了第一个 Lambda 的流,然后如果成功调用第二个 Lambda 函数,则在它们之间传递输入/输出。

您将更新您的计划操作以执行步骤函数而不是第一个 Lambda。


推荐阅读