使用 AWS Lambda 编写函数和代码


什么是 AWS Lambda?

Lambda 允许您运行代码(通常称为函数),而无需购买或管理服务器。用户只需为消耗的计算时间付费。

作为其转型为创新者和企业家云计算解决方案的努力的一部分,亚马逊网络服务于 2014 年推出了 Lambda。

第一个开发者预览版于 2015 年发布,公开版本于 2016 年 2 月发布。

想要使用 Lambda 的开发人员可以使用广泛采用的编程语言(如 Java)或用 C++ 或 C# 编写自己的代码。

Lambda 函数的基本实例必须是虚拟机。您可以扩展和缩减它,但不能将其作为 EC2 实例添加。

Lambda 的目的是使开发的管理更容易。

以下是新开发人员关于 Lambda 需要了解的内容:

  • 您创建一个函数,该函数为接下来的 5 分钟计划一项任务。代码挂起,直到 5 分钟过去,然后重复该循环。

  • 通过使用 Lambda,您可以避免运行工作服务器,并且不必担心与管理服务器相关的开销。

AWS Lambda 函数

函数是在 AWS Lambda 中运行的程序或脚本。Lambda 将调用事件传递到您的函数,该函数处理事件并返回其响应。

使用 Serverless Framework 创建 AWS Lambda 函数

我们建议使用 Serverless Framework 从 AWS Lambda 开始。

使用 Serverless Framework,您可以使用您在本地机器上熟悉的工具创建 Lambda 函数,并快速将其部署到 AWS。

使用此方法,您的函数代码和配置存储在同一个 Git 存储库中,这使得 Lambda 函数的协作、更改跟踪和管理更加容易。

步骤 1 - 在您的机器上安装 Serverless Framework:

$ npm install serverless - g

步骤 2 - 创建一个新的服务:

$ serverless

步骤 3 - 将您的函数需要的资源添加到 serverless.yml 文件中。请查看 AWS 文档以了解此文件的示例以及您可以在其中配置的选项列表。

步骤 4 - 将代码添加到您的服务中。请参阅 Serverless AWS 提供程序文档,了解您可以遵循的具体步骤来创建您的函数。

步骤 5 - 通过运行部署步骤将其部署到 AWS:

$ serverless deploy

就这么简单!您的函数将被部署,您将在控制台中看到函数端点的 URL。

使用 AWS Lambda 函数编写代码

Lambda 函数具有签名方法 EchoRequest(string argc, argv),它返回 Echo 可以与其事件发送方通信的事件。

  • EchoRequest 的第一个参数是 Lambda 将侦听的事件源。

  • 第二个参数是要调用的函数,以启动新的 Lambda 函数执行。

  • 第三个参数是实际的函数,它具有与 Lambda 函数相同的签名,旨在描述您想要运行的代码。

  • 第四个参数是事件发送方的列表。

Lambda 允许您在开发服务器上编写代码,然后向 Lambda 发送 HTTP 请求,该请求执行代码。

您创建 Amazon Web Services (AWS) 仪表板并添加 Lambda 函数以创建 Lambda 函数。

Lambda 仪表板连接到 Lambda 控制台。在 Lambda 控制台中,您可以启用函数、设置函数名称以及使用您的访问凭据连接到 Amazon EC2 API。

Lambda 可以通过更改 Lambda 函数的 URL 并发送和接收消息 Echo(对于 Echo 收到的任何消息或当它收到 lambda 函数调用时)来调用函数并控制代码的执行。

Lambda 可以通过将 HTTP 请求的标头设置为 Echo 来处理请求。

您可以使用 JSON 主体发送 Lambda 函数响应,并为所有请求指定单个 JSON 响应。

为此,请在您的函数中添加几行代码以将其发送到 Lambda 以响应任何收到的请求。

以下是一些您可以用来创建等待 5 分钟以传递即时消息的函数的示例函数:

void postMessage(string message, string body){
   Amazon.Message.Send(message, body);
}

void wait5minutes(string eventName, string token){
   Amazon.Message.Receive(eventName, token, 5);
}

此外,以下是一些您可以用来创建侦听电子邮件消息的函数的示例函数:

void postEmail(string body){
   Amazon.Message.Receive(message, body, 5);
}

以下是一些您可以用来创建向收件人地址簿中的任何电子邮件地址发送电子邮件的函数的示例函数:

void sendEmail(string message){
   Amazon.Email.Send(message, toAddressList, fromAddressList, subject, fromBody, body);
}

结论

Lambda 易于设置,并且可以以最少的努力提供实时 AWS 服务。我们刚刚介绍了设置第一个 Lambda 函数的基础知识。您可以将 Lambda 用于许多其他用途,包括在您的网站上呈现页面和发送电子邮件。

AWS Lambda 允许您向 AWS 资源(例如 Amazon S3 存储桶和 Amazon DynamoDB 表)添加自定义逻辑,因此您可以轻松地将其应用于处理进入或流经云的数据。开始使用 AWS Lambda 非常简单。当您需要访问少量服务或执行自定义处理时,请使用 Lambda。当数据流经服务时,您可以使用 Lambda 在该数据流上运行自定义代码。这在从 IoT 设备等内容获取数据的 Kinesis Pipeline 中很有用。

更新于:2022-11-21

204 次查看

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.