前言
AWS Lambda 是一个很棒的无服务器计算平台,可以让您在无服务器 Amazon S3 存储桶中运行自定义代码。在 AWS Lambda 中,您只需为代码执行付费。因此,您可以从不用的服务器或容器架构的成本中解放出来,从而降低成本。
如果您打算将 AWS Lambda 用于数据处理和转换、实时流处理、任务自动化以及许多其他方案,您需要一种方法来管理 AWS Lambda 函数的部署、测试、安全和自动化。本文将介绍一个名为 serverless-aws-lambda-fanout 的 npm 包,它可以帮助您轻松完成这些任务。
什么是 serverless-aws-lambda-fanout
serverless-aws-lambda-fanout 是一个 npm 包,旨在帮助您快速构建和部署 AWS Lambda 函数。它使用 severless 框架封装了各种部署到 AWS 的资源,包括 API 网关、S3 存储桶、SNS 通知、SNS 签名,以及 AWS Lambda 函数。该包还支持使用 nodejs 进行本地开发,同时利用 babel 技术进行 ES6 代码转换,以适应 AWS Lambda 环境。
使用 serverless-aws-lambda-fanout 的步骤
1. 安装 serverless npm 包
在终端/命令行窗口中输入以下命令:
npm install -g serverless
2. 创建 serverless 服务
在终端/命令行窗口中输入以下命令:
serverless create --template aws-nodejs --path my-service
3. 安装 serverless-aws-lambda-fanout npm 包
在 my-service 目录中安装 serverless-aws-lambda-fanout npm 包:
cd my-service npm install serverless-aws-lambda-fanout
4. 编写 serverless.yml 文件
编辑 serverless.yml 文件来定义您的服务,将 NPM 包添加到项目并配置源。serverless-aws-lambda-fanout 需要一些特定的配置,例如定义 AWS 账户和 S3 存储桶等。以下是示例 serverless.yml 文件:
-- -------------------- ---- ------- - -------------- -------- ---------- --------- ----- --- -------- ---------- -------- - ---------------------------- ------- ------------- --------- ----------- ---------- ------------ -------- ------------------- ------- - --- ------- ------------------------------------ ------ ------------------ ---------- ---------- ----------- ----- ----------------- ----------- ----------- ------------------------------------
5. 编写 Lamdba 函数处理逻辑
创建handler.js
文件,该文件将处理 AWS Lambda 的基本逻辑。
-- -------------------- ---- ------- ----- --- - ------------------- ----- -- - --- ------------------------- ------- -------------------------- - ----- ------- -------- -- - ------------------ - -- --------------------- ----- ---- -------------------- - -- ----------------------- ----- ---- -- -- --- -- ---- --- ------ ------ -- -------------- - ----- ---------- - ---------------------- ----- --- - --------------------- ------------------- ----- -------------- ---- --------- -- ---- - -
6. 部署服务
您可以使用以下命令在 AWS 上部署服务:
serverless deploy
7. 触发函数
您可以手动上传一个文件到 S3 存储桶中,然后检查 CloudWatch 日志以查看 AWS Lambda 函数的输出。
结论
本文介绍了如何使用 serverless-aws-lambda-fanout npm 包轻松地构建和部署 AWS Lambda 函数,并在 S3 存储桶发生变化时自动触发该函数。本文涵盖了创建服务、安装 serverless-aws-lambda-fanout、编写配置和代码、部署和触发 AWS Lambda 函数的主要步骤。这是一个非常有用的 npm 包,让开发和部署 AWS Lambda 函数更加容易和高效。如果你正在使用 AWS Lambda 并且想要更好地管理你的 AWS Lambda 函数,则应该考虑使用 serverless-aws-lambda-fanout。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055d2b81e8991b448dae0f