npm 包 serverless-external-s3-events 使用教程

阅读时长 3 分钟读完

如果您正在开发一个基于 AWS Lambda 和 S3 的 serverless 应用程序,那么您可能会需要监听 S3 上的对象创建事件。AWS 提供了 S3 的内置事件通知机制,但有时您可能需要使用外部服务或工具处理这些事件。在这种情况下, serverless-external-s3-events 可以帮助您轻松地实现这一目标。本文将介绍如何使用这个 npm 包。

安装

在开始使用 serverless-external-s3-events 之前,请确保已经在您的本地环境中安装了 Node.jsServerless Framework。然后,使用以下命令在您的项目中安装 serverless-external-s3-events:

配置

在您的 serverless.yml 文件中添加以下配置:

-- -------------------- ---- -------
--------
  - -----------------------------

-------
  -----------------
    - ------- ---------
      ------ ------------------
      ------
        - ------- ------------------
          ------- ----

这个配置定义了一个 s3:ObjectCreated:* 的事件,当 S3 上的一个对象创建时,将触发这个事件。然后,通过 rules 属性,您可以添加表达式来过滤事件,仅当事件发生在特定的路径或满足特定的前缀和后缀时才会触发。在上面的示例中,只有在 /path/to/my/files/ 目录下的以 .jpg 结尾的对象被创建时才会触发该事件。

编写 Lambda 函数

您需要创建一个 AWS Lambda 函数来处理 S3 上的对象创建事件。可以使用 Serverless Framework 来创建这个函数。例如,下面是一个简单的 Lambda 函数:

这个函数会在接收到 S3 对象创建事件时,将对象的 key 打印到控制台。

部署

使用以下命令将项目部署到 AWS:

这个命令将创建 S3 存储桶和 Lambda 函数,并将它们绑定到您的 serverless-external-s3-events 配置中。当 S3 上一个新对象被创建时,会触发您在 serverless.yml 中定义的事件,然后它会调用您的 Lambda 函数。您可以在 AWS 控制台中测试这个应用程序,向 S3 存储桶中添加一个名为 /path/to/my/files/test.jpg 的新对象,然后在 CloudWatch 中查看 Lambda 函数的输出。

总结

通过使用 serverless-external-s3-events npm 包,您可以简单地实现对 S3 存储桶的对象创建事件的监听。这使您能够使用 Lambda 函数和其他 AWS 服务处理这些事件,并构建更强大的 serverless 应用程序。

如果您有任何问题或建议,请随时联系 serverless-external-s3-events 的开发者。有关更多详细信息,请参阅 serverless-external-s3-events 的文档。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055ff381e8991b448ddb9f

纠错
反馈