构建基于Ruby的Lambda函数

在AWS re:Invent 2018上,宣布Ruby现在是AWS Lambda的受支持语言。 在本文中,我将指导您从头开始编写第一个基于Ruby的Lambda函数,然后介绍如何配置,部署和测试Lambda函数。

API网关会将传入的请求转发到基于Ruby的目标Lambda函数,该函数将在movies表上调用相应的DynamoDB操作。

首先,创建一个Lambda执行角色,该角色具有在DynamoDB表上调用Scan操作的权限:

下面的函数入口点是不言自明的,它使用AWS开发工具包(该软件包已预先安装在Lambda中)在适当的区域中实例化DynamoDB客户端,并对DynamoDB表(在环境变量中定义)执行扫描操作):

默认情况下,Lambda执行环境中包含适用于Ruby的AWS开发工具包。

现在,我们的处理程序已定义,请转到Lambda表单创建,然后从“ 现有角色”下拉列表中选择IAM角色(您可能需要刷新页面以使更改生效)。 然后,单击创建功能按钮:

将表名称设置为环境变量:

电影表包含一组电影:

使用AWS CLI命令创建一个部署程序包(zip文件)并更新该功能的代码:

确保将Lambda函数处理程序设置为handler.lambda_handler

部署功能后,通过单击控制台右上方的“ 测试”按钮,使用示例事件数据手动调用它。

到目前为止,我们学习了如何使用Ruby构建我们的第一个Lambda函数。 我们还学习了如何从控制台手动调用它。 为了利用Lambda的功能,我们将学习如何使用AWS API Gateway服务响应传入的HTTP请求(事件驱动的架构)来触发此Lambda函数:

创建一个部署阶段,并使用API 调用URL打开您喜欢的浏览器; 您应该会看到类似以下屏幕截图所示的消息:

以下屏幕快照显示了正确配置的基于Ruby的Lambda函数,并具有对DynamoDB的IAM访问:

喜欢您正在阅读的内容吗? 查看我的书,了解如何使用AWS Lambda在Golang中构建,保护,部署和管理可用于生产环境的无服务器应用程序。

From: https://hackernoon.com/build-a-ruby-based-lambda-function-44f3d006fef6