云主机问题

首页 > 新闻动态 > 帮助中心 > 云主机问题

AWS Lambda 函数构建的步骤

2023-08-22 10:23  浏览:

AWS Lambda 函数在调用时执行代码。本章详细讨论了 AWS Lambda 函数生命周期中涉及的所有这些步骤。

构建 Lambda 函数的步骤

Lambda 函数的生命周期包括四个必要步骤-

创作部署监控问题排查

编写 Lambda 代码

AWS Lambda 函数代码可以用以下语言编写-

NodeJSJava,PythonC#Go

我们可以使用 AWS 控制台、AWS CLI、Eclipse IDE、Visual Studio IDE、无服务器框架等为 AWS Lambda 编写代码。
下表显示了可用于编写 Lambda 函数的语言列表以及不同的工具和 IDE-
语言 用于编写 Lambda 代码的 IDE
NodeJS
AWS Lambda 控制台
Visual Studio IDE
Java Eclipse IDE
Python AWS Lambda 控制台
C#
Visual Studio IDE
.NET 核心
Go AWS Lambda 控制台

部署 Lambda 代码

一旦决定了要编写 Lambda 函数的语言,有两种部署代码的方法-

直接在 AWS 控制台中编写代码使用所有文件和依赖项压缩或 jar 文件

但是,请记住必须给予 zip 文件适当的权限。

测试 Lambda 代码

可以在 AWS Lambda 控制台内测试 Lambda 代码的事件。还可以从 AWS cli 和无服务器 cli 测试 Lambda 函数。 AWS 控制台还有事件数据,可在测试 AWS Lambda 函数时用作示例事件。

监控 Lambda 函数

可以使用 AWS CloudWatch 监控 Lambda 函数。我们可以使用我们选择的语言添加必要的日志消息,并在 AWS CloudWatch 中看到相同的内容。
要开始编写 Lambda 函数,需要遵循一些模式。以下是编写 Lambda 函数要遵循的主要核心概念-

处理程序

Handler 是执行开始的 AWS lambda 函数的名称。它出现在 AWS 控制台中,如下所示-

Handler

请注意,这里我们已将默认处理程序更改为另一个名称并在处理程序中更新相同-

默认处理程序

请注意,调用处理程序的方式与选择为运行时的语言不同。

传递给处理程序的参数

如果你观察处理函数,传递的参数是 事件、上下文和 回调函数,如下所示-

Params Passed

Event 参数包含所用触发器的所有详细信息。
Context 参数主要负责执行 Lambda 函数的运行时细节。我们可以使用 context 参数与 Lambda 函数进行交互。它具有诸如 AWS Lambda 终止函数前剩余时间的详细信息,即创建 Lambda 函数时指定的超时、Lambda 函数的名称、cloudwatch 组名称、arn 详细信息等。

示例

让我们通过一个例子来了解从 AWS Lambda 上下文对象获得的细节-

exports.lambdahandler = (event, context, callback) => {

   // TOdo implement

   console.log("context object details");

   console.log(JSON.stringify(context));

   callback(null, "Lambda test");

};

当您执行上面显示的 Lambda 函数时,您可以看到以下输出-

输出

Summary

上下文 详细信息如下-

{

   "callbackWaitsForEmptyEventLoop":true,"logGroupName":"/aws/lambda/myfirstlambdafunction",

   "logStreamName":"2018/05/20/[$LATEST]04f17ee4ff7048d5bb1fedffaa807c71","functionName":

   "myfirstlambdafunction","memoryLimitInMB":"128","functionVersion":"$LATEST","invokeid":

   "c931e21c-5bf3-11e8-acfe-47fdbb39eee9","awsRequestId":"c931e21c-5bf3-11e8-acfe-47fdbb39eee9",

   "invokedFunctionArn":"arn:aws:lambda:us-east-1:625297745038:function:myfirstlambdafunction"

}

观察它有函数名、内存限制、请求ID等细节。

日志记录

添加到 Lambda 函数中的日志会在 AWS 函数执行时显示在 AWS CloudWatch 中。日志语法将因所选语言而异。例如在 nodejs 中,它是 console.log。
这是您可以在 AWSCloudWatch 中看到的输出-

AWSCloudWatch

错误处理

AWS Lambda 函数提供了一个回调函数,用于通知 Lambda 函数发生了错误或成功。请注意,这里我们使用了 nodejs 作为运行时。错误处理将因所选语言而异。
观察此处给出的示例以更好地理解-

exports.lambdahandler = (event, context, callback) => {

   // TOdo implement

   var error = new Error("There is error in code");

   callback(error);

};

输出

当您测试 Lambda 代码时,您可以找到如下所示的输出-

执行结果失败

日志详情如下-

日志输出

【免责声明】:部分内容、图片来源于互联网,如有侵权请联系删除,QQ:228866015

下一篇:NODEJS 中 AWS Lambda 函数的各种功能 上一篇:在 AWS 控制台中创建 AWS Lambda 函数