AWS Lambda函数实战

这篇具有很好参考价值的文章主要介绍了AWS Lambda函数实战。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

AWS Lambda函数实战

实战效果:开发一个函数,它会关注事件中的某个名字,并返回“Hello<名字>!”。如果输入事件没有提供名字,则函数返回一个更加通用的问候语“Hello World!”。


AWS Lambda接口可以通过AWS命令行或可在服务器、浏览器及移动设备上运行的AWS软件开发包(SDK)来调用。

一、创建一个新的AWS Lambda函数

首先要在浏览器中访问AWS的控制台https://console.aws.amazon.com/。登录后,在Compute区域选择Lambda,从顶端菜单的右侧选择AWS Region(通常选择距离你较近的区域来降低网络延时),然后在弹出页面点击“Get Started Now”。如果这不是所选区域中的第一个函数,你不会看到欢迎页面,而会看到一组已经存在函数的代码清单。这种情况下,直接点击“Create a Lambda Function”即可。

二、使用步骤

1.编写函数

把选项设置为“Edit code inline”,根据你所选择的运行时环境在Web控制台的编辑器中输入以下代码。以下代码分别以Node.js实现了函数的逻辑。
代码如下(示例):
lambda aws,aws,aws,云计算

·在Node.js中,我们使用标准的Node.js编程模型中的callback结束函数。在本例中,使用callback(null,data)成功结束函数,并返回greeting字符串对象。如果callback第一个参数不是null,则表示函数遇到执行错误返回,如callback(error)。

·AWS Lambda的函数是在一个没有任何可视化信息的“无头”环境下执行的。因此,所有运行时都实现了可以方便地向Amazon CloudWatch写入集中日志的方式。Amazon CloudWatch是一种监控和日志服务,可用来管理应用程序的指标、警告和日志,以及应用程序中用到的AWS服务。在Node.js环境下,任何用console.log()写出来的东西都被重定向到CloudWatch Logs;而在Python中,则是重定向print输出的任何内容。

·初始化完成后,函数获取作为事件输入的信息和调用的上下文——两者都是运行时的原生格式:Node.js中采用JavaScript对象,Python中采用字典类型。这样的函数格式可以用于执行所有的调用,我们可以以后再做进一步的配置。

·函数的逻辑非常简单:如果输入事件中包含了“name”键值,name信息会被置入greeting字符串,否则就输出默认的“Hello World!”。

2.测试函数

在控制台的左上角点击测试按钮,然后需要为所有的测试准备一个测试事件。当调用Lambda函数时,使用JSON格式表述的事件对象信息会被实际的函数运行时转化为它们各自的原生对象或类型,如JavaScirpt对象或Python中的Dict类型。

测试界面的下拉菜单有一些样板的事件,这些事件在订阅了如Amazon S3或Amazon DynamoDB等标准资源时会被接收到。我们的函数使用自定义格式的事件,所以这些样板事件模版暂时用不到。你需要编辑事件的信息,为函数提供name作为输入。

{“name”:“Hello wang!”}

点击窗口中的“Save and test”,函数会使用你所编辑的事件信息作为输入而被调用。执行的结果会显示在窗口页面的底部。显示的结果包括了函数的返回值、日志和执行情况的汇总:如实际的执行时间,计费的时间(以100ms为单位),内存使用量。所有这些信息同时也以原始日志的方式被输出。

如果一切正常,你将会在执行结果中看到“Hello wang!”。现在,你已经成功执行了第一个Lambda函数!

安装和配置AWS CLI

为了安装和配置AWS CLI命令行工具,可参照AWS网站http://aws.amazon.com/cli/所提供的针对Windows、Mac和Linux的安装指导。

建议从文档中的Getting Started链接开始,为CLI创建一个AWS IAM用户。以下是安全策略:

AWSLambdaFullAccess
AmazonAPIGatewayAdministrator
AmazonCognitoPowerUser

当使用aws configure命令配置CLI时,需要将当前的AWS region设为默认值。否则,需要在每一个AWS CLI命令中通过–region的方式显式指定每条命令执行所针对的region。

同时也建议你启用文档中所描述的CLI自动命令完成功能。为了测试AWS CLI的安装和配置是否正确,你可以尝试执行aws lambda list-functions命令来获取你账户下已经创建的AWS Lambda函数的一个列表,连同每个函数的配置信息,如内存大小、超时、执行角色等等。

CLI的默认输出格式是JSON,但是在初始配置CLI时可以使用–output选项进行更改。为了调用我们刚才创建的函数,在命令行使用如下的语法(请注意JSON事件在单引号中):警告 如果你使用Windows下的AWS CLI来执行Lambda函数调用,需要把上述的单引号更改为双引号,并重复一次[1]。
例如,--payload'<JSON event>'应该更改为--payload"{""name"":""wang""}"

函数的输出被写入一个本地文件。例如,如果要问候“wang”,就在命令行输入如下的命令:警告 如果在配置AWS CLI时没有指定你创建和运行AWS Lambda的region的话,你必须在命令结尾通过–region参数指定,否则上述的命令会报错。
在命令行执行如下命令,可以测试没有name作为输入时函数的执行结果,返回的信息是Hello World!文章来源地址https://www.toymoban.com/news/detail-816173.html

到了这里,关于AWS Lambda函数实战的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AWS Lambda 操作 RDS 示例

    创建一个 Lambda 接收调用时传入的数据, 写入 RDS 数据库 Post 表存储文章信息. 表结构如下: id title content create_date 1 我是标题 我是正文内容 2023-10-21 15:20:00 RDS 控制台创建 MySQL 实例, 不允许 Public access (后面 Lambda 需要通过 VPC 访问) Secrets Manager 控制台创建 Credentials for Amazon RDS da

    2024年02月08日
    浏览(30)
  • 【SERVERLESS】AWS Lambda上实操

    通过Serverless的发展历程及带给我们的挑战,引出我们改如何改变思路,化繁为简,趋利避害,更好的利用其优势,来释放企业效能,为创造带来无限可能。 无服务器计算近年来与云原生计算都是在互联网背景下产生,其顾名思义是指开发者在构建和运行应用时无需管理服务

    2024年04月15日
    浏览(32)
  • AWS中Lambda集成SNS

    在Lambda中,创建名为AWSSNSDemo的函数 创建名为:SNSTopicTest的主题        发布消息后,在DynamoDB中, 如果检测到发布的消息数据,则说明集成成功。  

    2024年02月13日
    浏览(32)
  • 如何使用 AWS Lambda 运行 selenium

    借助 AWS Lambda 运行 selenium 来爬取网络数据。 与手动从网站收集数据相比,爬虫可以为我们节省很多时间,对于爬虫的每次请求而言,这相当于 AWS Lambda 的每次函数的运行。 AWS Lambda 是一种将脚本部署到云的简单且价格低廉的服务,如果我们要实现在 AWS Lambda 上运行 selenium 实

    2024年02月03日
    浏览(31)
  • 基于 AWS Lambda 的 SaaS 应用教程

    在本教程中,我们将探讨如何使用 AWS Lambda 构建一个简单的 Software as a Service (SaaS) 应用程序。我们的示例应用将是一个用于短链接生成的服务。我们将使用 Node.js 来编写 Lambda 函数,并使用其他 AWS 服务来管理和扩展我们的应用。 步骤 1: 准备工作 确保你已经拥有 AWS 账户,并

    2024年01月21日
    浏览(30)
  • AWS Lambda - 同步/异步调用,事件源,目标

    Hello大家好,我们今天继续讨论AWS Lambda的内容。 Lambda函数有三种调用方式。 第一种方式是同步调用。 当我们使用API、CLI以及API网关等调用函数时,就是同步调用。 当您同步调用函数时,Lambda会运行该函数并等待响应,当函数完成时将结果同步返回,所以您的代码将等待这个

    2024年02月10日
    浏览(29)
  • AWS中lambda与DynamoDB的集成

    前言:我在整个集成过程中,存在最大的问题有两个, 1. 没有考虑到lambda函数的权限,即对DynamoDB或者其他如Kinesis的权限授权,导致无法写入或者读取。 2.最初使用了异步方式调用,导致无法写数据到DynamoDB,把代码改成同步调用即可  创建好之后保存,然后进行部署(deplo

    2024年02月13日
    浏览(54)
  • AWS Lambda Golang HelloWorld 快速入门

    以下测试基于 WSL2 Ubuntu 22.04 环境 来到 Lambda 控制台, 创建新的函数, Runtime 选择 Go 1.x Code Upload from .zip file 选择前面编译并打包的 main.zip 文件上传. 随后创建新的 Test 匹配 Lambda 处理的 Event 数据格式: Test, 欧耶~报错了! 返回 Code 标签页, 看到默认的 Handler 设置的是 hello , 这和我们

    2024年02月07日
    浏览(43)
  • aws对象存储s3基于lambda实现图片裁剪

    存储桶名称:wmmzz 1.存储桶策略设置 2. 创建lambda函数 点击跳转到IAM控制台,创建自定义角色,选择服务类型lambda,创建策略 输入策略下一步取名resize-policy,回到创建角色页面,搜索刚才创建的策略选中,再搜索AmazonS3FullAccess选中 点击下一步,输入角色名称resize-role,点击“创建角色

    2024年02月11日
    浏览(31)
  • AWS-Lambda之导入自定义包-pip包

    参考文档: https://repost.aws/zh-Hans/knowledge-center/lambda-import-module-error-python https://blog.csdn.net/fxtxz2/article/details/112035627 简单来说,以 \\\" alibabacloud_dyvmsapi20170525 \\\" 包为例 保证这样的目录层级才能被识别到 来到python同级目录下打包压缩 保证压缩后也是这样的层级,上传才能被识别到 测

    2024年02月07日
    浏览(14)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包