使用 Learner Lab - 使用 API Gateway 触发 AWS Lambda

news2024/11/17 7:53:26

使用 Learner Lab - 使用 API Gateway 触发 AWS Lambda

AWS Academy Learner Lab 是提供一个帐号让学生可以自行使用 AWS 的服务,让学生可以在 100 USD的金额下,自行练习所要使用的 AWS 服务,如何进入 Learner Lab 请参考 使用 Learner Lab - 学生,以下示范如何使用 API Gateway 触发 AWS Lambda,并取得 post 上传的内容。

步骤 1. 创建 Lambda 函数

AWS 网页控制台 上方的搜寻图示中输入 Lambda ,单击 Lambda 服务,如下图所示。

在这里插入图片描述
图 1. AWS 网页控制台中找寻 Lambda 服务

单击 创建函数 服务,如下图所示。

在这里插入图片描述
图 2. 创建 Lambda 函数

设定 Lambda 函数如下

  • 从头开始创作
    基本信息
  • 函数名称: API2Lambda
  • 运行时: Python 3.8
  • 架构: x86_64
    权限
  • 执行角色: 使用现有角色 LabRole (很重要、很重要、很重要)

在这里插入图片描述
图 3. 设定 Lambda 函数

步骤 2. 布署 Lambda 函数

因为这次代码的目的是读取 API Gateway 所传递过来的参数,所以将代码修改如下:

import json

def lambda_handler(event, context):
  return {
    'statusCode': 200,
    'body': json.dumps(event, indent=4, default=str, ensure_ascii=False)
  }

修改完毕后单击 Deploy (布署),必须要先布署才算是将代码布署到云计算中,如下图所示。

在这里插入图片描述
图 4. Deploy (布署) Lambda 函数

接著单击上图中的 Test 按钮,会出现配置测试事件弹窗,配置如下:

  • 测试事件操作: 创建新事件
  • 事件名称: apigatewayPOST
  • 事件共享设置: 私有
  • 模版: apigateway-aws-proxy
    下方的事件JSON会自动填写上述模版所生成的JSON范例,无需修改,直接单击保存即可。

在这里插入图片描述
图 5. 配置测试事件

接著再单击 Test 按钮即可运行,运行结果会出现在 Execution result 视窗,可以看到将模拟 API Gateway 请求的信息透过 event 这个参数取得内容。

在这里插入图片描述
图 6. 进行测试事件,检验代码执行结果

步骤 3. 添加 API Gateway 触发器

在 Lambda 主画面上方找到添加触发器按钮,如下图所示。

在这里插入图片描述
图 7. 在 Lambda 主画面中进行添加触发器

进入添加触发器画面,配置如下:

添加触发器

  • 触发器配置: API Gateway
  • Intent: Create a new API
  • API type: HTTP API
  • Security: Open
    Additional settings
  • API name: API2Lambda-API
  • Deployment stage: default
  • 勾选 Cross-origin resource sharing (CORS)

在这里插入图片描述
图 8. 在添加触发器画面中进行 API Gateway 配置

添加触发器后可以在配置中查看触发器的结果,如下图所示。

在这里插入图片描述
图 9. 在配置中查看触发器

步骤 4. 使用 Postman 进行测试

接著使用常见的 API 测试软件来进行测试,在本机端打开 Postman,并输入相关的配置。

  • URL 网址:将上图中的 API endpoint 输入
  • 请求方法: POST
  • Body: 选择 raw,格式为 JSON
    内容为
{
    "key": "Value"
}

接著点击送出Send就得到完整的请求信息回应 (Response),在第 89 行中可以看到请求的内容,表示可以在 Lambda 中,透过 event 参数取得完整请求信息,使用 body 属性,就可以取得请求内容。

在这里插入图片描述
图 10. 在postman进行 API 测试

感谢亚马逊云科技王向炜 Alan Wang 提供的协助。

参考资料

  • AWS Academy, https://aws.amazon.com/cn/training/awsacademy/
  • AWS Academy 简介, https://blog.csdn.net/m0_50614038/article/details/123778237
  • AWS Academy LMS (Learning Management System) 基础 – 教师, https://blog.csdn.net/m0_50614038/article/details/123778561
  • AWS Academy LMS 申请开课 - 教师, https://blog.csdn.net/m0_50614038/article/details/123778838
  • AWS Academy LMS 新增学生 - 教师, https://blog.csdn.net/m0_50614038/article/details/123779068

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/55494.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

第十三章 DFS与BFS(保姆级教学!!超级详细的图示!!)

第十三章 DFS与BFS一、深度优先搜索1、什么是DFS?2、DFS代码模板(1)问题:(2)分析:(3)模板:3、DFS代码分析二、广度优先搜索1、什么是BFS?2、BFS代…

就是把一个数组中相同类别数据,组成新的数组

效果图如上,就是把一个数组中相同类别数据,组成新的数组,每个数组最后加一个空对象,对象对应的格式要做些许改变 分店 品牌 业绩(元) 订单个数 单值(元) {{item.shopname}} {{item.shopname}} {{item.shopname}} {{item.shopname}…

《InnoDB引擎九》InnoDB关键特性-自适应哈希索引

InnoDB 关键特性 InnoDB存储引擎的关键特性包括: Insert Buffer (插入缓冲)Double Write (两次写)Adaptive Hash Index (自适应哈希索引)Async IO (异步IO)Flush Neighbor Page (刷新领接页) 这些特性为InnoDB存储引擎带来了更好的性能以及更高的可靠性。 自适应哈…

猿如意开发工具|emeditor

写在前面 昨天升了下系统,可以下载了,我就试了试 正文 在客户端里搜索我所需要的工具,就可以搜出来 这里我已经下好了,直接点开文件就好了 再点开文件 点击下一步,接下来还有几个步骤,都点下一步就可以了…

【HBuilder X】解决HBuilder X内置浏览器显示过大影响使用

1- 前言 不知道宝子们有没有遇到过这种情况,小媛发现自己的内置浏览器过大,很大,很丑,占了半个屏幕,像下图那样。 也试了几种方法,比如: 看自己的版本不是最新,或者和其他人的不一样…

嫁给程序员老公,我后悔了

01 在我还没长开的时候,就常听人说,有两种男人不能嫁:一种是兵哥哥,另一种是程序员。前者见不着,后者死的早。 一想到不等头发花白,就要踟蹰独行,我就害怕的厉害。所以,很长一段时…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java高校教室管理系统9y8cv

相信很多和我一样的同学,因为实习,因为考研和考公等等,来不及做毕业设计,双专业的话 到时肯定忙不过来。提前做好准备吧,能自己完成的尽量自己完成,尽量不要找别人。自己的毕业前的一次大作业。努力完成也有…

Java项目:ssm高校党员管理系统

作者主页:源码空间站2022 简介:Java领域优质创作者、Java项目、学习资料、技术互助 文末获取源码 项目介绍 高校党员信息管理系统,分为普通用户和管理员两种角色。 普通用户登录后主要功能有: 我的中心:首页、个人资料、修改密…

广州蓝景分享—开发人员都知道的JavaScript技巧

JavaScript包含各种对典型编程思想有用的一些技巧,在实际开发中,我们通常希望减少代码行数;因此,今天这些技巧代码希望可以帮助到你。 现在我们就开始今天的内容吧。 1、与Javascript对象相关的 01)、对象解构 将对象的值解构为…

Vue2.0简讲!

Vue2.0简讲 Draven入门1.1、响应式渲染1.1.0、Vue创建1.1.1、指令(7)1.1.2、class与style绑定HTML Class对象语法数组语法绑定内联样式对象语法数组语法1.1.3、条件渲染v-if else-iftemplate v-if1.1.4、列表渲染v-forkey数组更新检测列表渲染Vue2列表渲染Vue3过滤应用(模糊查询…

机器学习与数据挖掘——前言

如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:瞳孔空间 这是从老师的PPT里面提取出来的,知识点分布比较零散,可能他做PPT的时候也没想那么多。 一:机器学习 机器学习的定义:一个计算机程序被称为…

前端岗位初入职场后的最初一段时间需要做什么

文章题目有点长,叫 《前端岗位初入职场后的最初一段时间需要做什么》,说下写这篇文的初衷,在前端自学团里有很多刚毕业或者是刚从培训班出来的同学,在群里天天讨论着找工作和面试的事情,面试的题在很多app或者小程序可…

四、【React-Router6】高亮 NavLink

项目修改自 上一节 的 Demo 这里需要注意的变化 默认高亮样式类名如果依然是 active 则依然默认有效 6 里移除了 activeClassName ,如果我的高亮样式类名是 peiqi,需要配置 className 为一个函数 函数接收两个参数 isActive:是否激活isPendi…

Arduino开发实例-DIY双向访客计数器和自动灯光控制

双向访客计数器和自动灯光控制 1、应用介绍 本应用将使用 Arduino 创建双向访客柜台和自动灯光控制系统。该应用基于一对 IR(红外)传感器,可在出现中断时检测障碍物。实际上,该系统可以检测来自两个方向的访客。从而对进入的访客数量和离开的访客数量进行计数。 该双向访…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java高校心理健康咨询平台vknhv

毕业设计其实不难,主要毕业的时候任务太紧了,所以大家都非常忙没有时间去做,毕业设计还是早做准备比较好,多花点时间也可以做出来的,建议还是自己动手去做,比如先选一个题,这样就有方向&#xf…

GIS工具maptalks开发手册(三)01——绘制工具

GIS工具maptalks开发手册(三)01——绘制工具 效果 代码 1、html官方版 <!DOCTYPE html> <html> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1"> <title>交互 - 绘制…

vite + vue3.0 + ts 项目搭建

Welcome to vue3-elementplus-admin &#x1f44b; vite vue3 Pinia elementUi-plus 无限级菜单 权限管理 后台模板 &#x1f3e0; Homepage Author &#x1f464; xuxuxu-ni Github: xuxuxu-niQQ: 595485548QQ群: 157216616email: 595485548qq.com Prerequisites node…

安卓使用动画启动Acitvity

1.检查系统版本 动画过渡Activity适用于*Android5.0&#xff08;API21&#xff09;*及以上&#xff0c;在代码增加中检查版本增强代码健壮性。 2.指定自定义过渡动画。 过渡可以在xml文件中指定&#xff0c;也可以直接在代码中指定。使用Window.requestFeature()声明启动窗口…

C语言:结构体

1、结构体&#xff1a; 定义&#xff1a;结构是一些值的集合&#xff0c;这些值称为成员变量。结构的每个成员可以是不同类型的变量 结构的声明&#xff1a; struct tag {member-list;}variable-list;举例&#xff1a;声明一个学生类型&#xff0c;想通过学生类型来创建学生变…

【Matplotlib绘制图像大全】(二十七):Matplotlib将数组array保存为图像

前言 大家好,我是阿光。 本专栏整理了《Matplotlib绘制图像大全》,内包含了各种常见的绘图方法,以及Matplotlib各种内置函数的使用方法,帮助我们快速便捷的绘制出数据图像。 正在更新中~ ✨ 🚨 我的项目环境: 平台:Windows10语言环境:python3.7编译器:PyCharmMatp…