AWS Lambda 函数构建的步骤
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 控制台中,如下所示-
请注意,这里我们已将默认处理程序更改为另一个名称并在处理程序中更新相同-
请注意,调用处理程序的方式与选择为运行时的语言不同。
传递给处理程序的参数
如果你观察处理函数,传递的参数是 事件、上下文和 回调函数,如下所示-
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 函数时,您可以看到以下输出-
输出
上下文 详细信息如下-
{ "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 中看到的输出-
错误处理
AWS Lambda 函数提供了一个回调函数,用于通知 Lambda 函数发生了错误或成功。请注意,这里我们使用了 nodejs 作为运行时。错误处理将因所选语言而异。
观察此处给出的示例以更好地理解-
exports.lambdahandler = (event, context, callback) => { // TOdo implement var error = new Error("There is error in code"); callback(error); };
输出
当您测试 Lambda 代码时,您可以找到如下所示的输出-
日志详情如下-
作为AWS核心代理商,选择天.下.数.据的优势
1、专属客服协助注册AWS,或提供注册好的账号直接使用
2、支持收U等多币种支付代付,无额外服务费用
3、AWS多种产品类型,更高产品租赁权限
4、针对大客户,AWS专属折扣优惠
5、7x24小时专属客服,在线解答各种疑问
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo6@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。版权声明:如无特殊标注,文章均为本站原创,转载时请以链接形式注明文章出处。
评论