每天我们都会得到一个增量文件,并且我们有多个来源可以从中获取增量文件。两者都会将这些文件放在两个不同的 s3 前缀中。但他们来的时间不同。我们希望一次性处理这两个文件并从中生成报告。为此,我将使用 AWS Lambda 和 Data Pipeline。我们将通过 Lambda 触发 AWS 数据管道。每当有新文件到达时,都会触发 Lambda。
当我们有单一来源时,我们也能做到这一点,所以我们为 lambda 创建了一个 s3 触发器,当文件出现时,它被触发并启动管道和 emr 活动,最后生成报告.
现在我们也有了第二个源,现在我们想在两个文件到达/上传时启动活动。
不确定我们是否可以触发具有多个依赖项的 aws lambda。我知道这可以通过 Step Functions 来完成,如果我们不支持触发具有多个依赖项的 lambda,我可能会走那条路。
每当新文件以两个不同的 s3 前缀到达时触发 AWS Lambda 函数。如果文件仅到达 s3 位置但未到达其他位置,则不要触发 lambda 函数。