【问题标题】:How can I monitor a particular file and trigger an AWS Lambda function in AWS EFS?如何监控特定文件并在 AWS EFS 中触发 AWS Lambda 函数?
【发布时间】:2016-11-15 12:21:46
【问题描述】:

我有一个大型机 (MF),它在我的 EFS 位置(例如 /temp/mf 目录,文件名 test.txt)放置一个文件

我想要一个文件触发器(可以是任何 AWS 服务)来检测文件 (test.txt),只要它可用并且在 30 秒内没有更改,以确保 MF 已完成对文件的写入,然后触发lambda 函数。

我怎样才能做到这一点?

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-efs


    【解决方案1】:

    EFS 和 lambda 是一个棘手的匹配。由于 EFS 本质上是一个 NFS 服务,它需要一个服务器来挂载 EFS 共享,以便访问其中包含的文件。

    如果您想完成这项工作,您需要一台服务器(即 EC2 实例)来挂载 EFS 共享。然后,该服务器上的逻辑将需要按照您的指定监视文件。

    一旦文件准备好,您的服务器就可以调用您的 lambda。为此,您有多种选择:

    1. 服务器将文件推送到由 lambda 支持的 Web 服务 API
    2. 服务器将文件推送到 S3,lambda 由 S3 事件驱动
    3. 服务器将事件发送到 lambda(SNS 或 SQS)。事件要么包含文件,要么服务器使文件对 lambda 可用(例如通过 HTTP 服务器)

    不过,老实说,考虑不同的架构可能会更好。替代方案包括:

    1. 如果 MF 上的逻辑可以处理监控并将文件推送到 S3(如果文件很小或者您可以分解数据,甚至可以推送到 SNS/SQS),您的 lambda 可以直接从那里获取(上面的#2 )
    2. 如果您无法使用 EFS,则无论如何都需要该 EC2 实例,因此您不妨对其进行处理

    【讨论】:

      猜你喜欢
      • 2018-07-10
      • 1970-01-01
      • 2019-08-23
      • 1970-01-01
      • 2020-04-20
      • 1970-01-01
      • 1970-01-01
      • 2018-01-15
      • 2020-02-15
      相关资源
      最近更新 更多