在前端类应用开发中,经常要使用到服务器端开发的 API 接口。其中,AWS 的 Lambda 函数是一种非常优秀的后端部署方案。而在使用 Lambda 函数时,充分利用其优势需要借助一些第三方工具。lambda-moobie-sdk 是 AWS SDK for JavaScript 的一个封装工具,可以使开发者更方便地部署 Lambda 函数。
安装
使用 lambda-moobie-sdk 封装工具前需要先安装:
npm install lambda-moobie-sdk
初始化
按照以下方式,初始化 SDK:
var aws = require('aws-sdk'); var lambda = new aws.Lambda({ region: 'us-west-2', accessKeyId: 'yourAccessKey', secretAccessKey: 'yourSecretAccessKey', });
其中,region 即为部署 Lambda 函数所在的地域,accessKeyId 和 secretAccessKey 可以在 AWS IAM(Identity and Access Management,访问控制)中获取。
部署函数
使用 lambda-moobie-sdk 可以轻松部署 Lambda 函数。按以下方式,完成函数部署:
-- -------------------- ---- ------- --- -- - -------------- -- ------ --- ----------------- - -------------------------------------------- --- ------------ - ------------- -- ---- --- ------ - - ------------- ------------- -------- ---------------- ----- ----------------------------------------------------------------------- -------- ------------- ----------- ---- -------- --- ----- - -------- ----------------- -- ---------- - ---------- ------------------- ----------------- --------------------------- -- -- -- ---- ----------------------------- -------- ----- ----- - -- ----- ---------------- ----------- ---- ------------------ ---
其中,deploymentPackage 为部署文件的路径,functionName 为部署的 Lambda 函数名,其他参数根据实际需求定义。
调用函数
在成功部署 Lambda 函数后,使用 lambda-moobie-sdk 可以轻松调用函数。按以下方式,完成 Lambda 函数调用:
-- -------------------- ---- ------- --- ------- - - ---- ------ -- -- ---- --- ------ - - ------------- ------------- -------- ------------------------ -- -- ---- --------------------- -------- ----- ----- - -- ----- - ---------------- ----------- - ---- - ------------------ - ---
其中,payload 是要传给 Lambda 函数的参数,在上述调用中传入一个 JSON 对象。 FunctionName 为要调用的 Lambda 函数名,其他参数根据实际需求定义。
示例代码
以下是一个使用 lambda-moobie-sdk 调用 Lambda 函数的完整示例代码:
-- -------------------- ---- ------- --- --- - ------------------- --- -- - -------------- --- ------ - --- ------------ ------- ------------ ------------ ---------------- ---------------- ---------------------- --- --- ----------------- - -------------------------------------------- --- ------------ - ------------- --- ------ - - ------------- ------------- -------- ---------------- ----- ----------------------------------------------------------------------- -------- ------------- ----------- ---- -------- --- ----- - -------- ----------------- -- ---------- - ---------- ------------------- ----------------- --------------------------- -- -- ----------------------------- -------- ----- ----- - -- ----- ---------------- ----------- ---- ------------------ --- --- ------- - - ---- ------ -- --- -------------- - - ------------- ------------- -------- ------------------------ -- ----------------------------- -------- ----- ----- - -- ----- - ---------------- ----------- - ---- - ------------------ - ---
上述代码中,先使用 createFunction 方法完成 Lambda 函数的部署,再使用 invoke 方法完成函数的调用。需要根据实际需求,修改相应的参数。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600567cb81e8991b448e4071