使用 AWS lambda 和 API Gateway 所涉及的各种流程

AWS Lambda 函数可以在 HTTPS url 上调用。它可以在 GET、POST、PUT 上完成。当 HTTPS url 被调用时,AWS Lambda 函数也可以触发,使用 get/post 传递给 HTTPS 的数据可以在 AWS Lambda 内部可用,用于插入 DynamoDB 或发送邮件等.

本章详细讨论了使用 AWS lambda 和 API Gateway 所涉及的各种流程。

涉及的流程

以下是使用 AWS lambda 和 API Gateway 所涉及的流程-

为权限创建 IAM 角色创建 AWS lambda 函数创建 API 网关将 lambda 函数链接到 api 网关向api网关传递数据

此处给出了解释 API 网关和 AWS Lambda 工作的基本图表-

Processes Involved

本章将详细解释这些过程并附上相关屏幕截图。

为权限创建 IAM 角色

从如下所示的 Amazon 服务中,选择 IAM 以创建要由 Lambda 函数使用的角色。

创建 Iam

转到 IAM 并从左侧部分选择 角色,如下所示-

仪表板菜单

为 Lambda 函数单击 创建角色。

其他资源

选择 Lambda 并点击底部的 权限。选择 API Gateway 和 Lambda 所需的权限。

选择类型

在搜索中搜索API网关,它会列出你所有的相关权限。这里我们选择了 API 网关的完全访问权限,如下所示-

附加权限

现在,搜索 API 网关,它会列出所有相关权限。这里我们选择了 API 网关的完全访问权限,如下所示-

Api 网关

您还必须为政策重复相同的过程。

Policies

选择必要的政策后,点击 查看进行下一步。根据您的选择输入角色的名称,如下所示-

Review

它显示附加到角色的策略。点击 创建角色,我们就完成了角色的创建,可以继续使用 lambda 函数了。

创建 AWS Lambda 函数

转到 AWS services 并单击 lambda 服务以创建用于将其与 api 网关连接的函数。

计算

Lambda 函数的 UI 屏幕如下所示。单击 创建函数按钮以继续创建 Lambda 函数。

UI 屏幕

输入函数名称并选择我们在上面创建的现有角色。

输入名称

它会闪现一条消息,说明名为 lambdawithapigateway 的函数已成功创建。

Lambda 网关

请注意,这里我们将使用 nodejs 运行时来编写代码。带有 helloworld 消息的 AWS 代码如下所示-

环境

AWS Lambda 代码存在于 index.js 文件中。称为处理程序的函数具有参数,即 events、context 和 callback。

回调函数基本都有错误和成功信息。请注意,这里我们没有任何与错误相关的代码,因此传递了 null 并且成功消息是 HelloWorld from lambda。

最后,保存添加的更改,让我们继续将 Lambda 函数添​​加到 API 网关。

创建 API 网关

登录您的 AWS 账户并打开 API Gateway,如下所示-

内容交付

点击 API Gateway,它会引导您进入可以创建新 API 网关的屏幕。

亚马逊网关

点击 创建 API 并添加详细信息,如下所示-

新建

点击屏幕右侧的 创建 API 按钮。这将在屏幕左侧显示新创建的 API。

创建新 Api

点击 操作下拉菜单为 API 创建新资源。

Action Dropdown

现在,创建一个新资源,如下所示-

资源组

输入 资源名称,如下所示。您将看到在最后创建的 url 中输入的资源名称。单击 创建资源,您将在屏幕上看到它,如下所示-

子资源

 

资源服务

向创建的资源添加 GET/POST 方法,如下所示。从 操作下拉菜单中选择方法。

获取方法

单击 GET 方法将方法添加到 API。

API 方法

下一步是将其与 Lambda 函数集成的集成。现在向其中添加 Lambda 函数,如下所示-

获取设置

将 Lambda 函数链接到 API 网关

选择之前创建的 lambda 函数。

hello Setup

保存更改,您可以看到一个对话框要求许可,如下所示-

添加权限

点击 确定获得权限。这是 API 网关 HTTP 请求和 Lambda 函数之间的执行细节-

方法执行

现在,让我们部署 API 网关更改。为此,我们需要从 Actions 下拉列表中选择 Deploy API,如下所示-

部署 Api

选择 部署 API。它将询问部署状态。从部署阶段下拉列表中选择 New Stage 并将阶段名称添加为 Production。

选择部署

点击 部署按钮,它会将您重定向到如下所示的网址-

单击部署

从左侧选择 GET 方法以获取 url。在新选项卡中打开 url 以查看来自 Lambda 函数的消息。

选择获取

这是使用 AWS Lambda 和 AWS API Gateway 的基本示例。在上面的例子中,我们在 Lambda 函数中对消息进行了硬编码。

现在,让我们从 API 网关获取消息详细信息。如果必须从不同的域调用 HTTPS 调用,例如对 API 的 AJAX 调用,我们需要为创建的 API 网关启用 CORS。

选择为 API 创建的资源,然后点击 Actions 下拉菜单-

Hello Method

现在, 启用 CORS 将打开以下屏幕-

启用 Cors

您可以使用几种方法来启用 CORS。 Access-Control-Allow-Origin 被标记为 * 这意味着它允许从任何域的 API 网关获取内容。

您还可以指定要与 API 一起使用的域名。单击 启用 CORS 并替换现有的 CORS 标头按钮,它将显示如下所示的确认消息-

Conform Method

单击 是,替换现有值按钮以启用它。 启用 CORS 屏幕如下所示-

替换现有值

将数据传递到 API 网关

打开在 API Gateway displayhelloworld 中创建的 API,如下图所示-

传递数据

点击 集成请求发送数据如下所示-

集成请求

选择 Body Mapping Templates 并将此示例的 Content-Type 添加为 application/json。单击添加的内容类型添加详细信息如下-

身体映射

现在,添加 JSON 格式的模板,如下所示-

Json

观察到我们已经将消息作为参数从 API Gateway 获取数据并与 AWS Lambda 共享。获取详细信息的语法如上所示。

现在,部署 API 以使更改在API 网关 URL。为此,我们需要更改 Lambda 函数以根据 API 网关 URL 显示数据。 Lambda 函数的代码如下所示。请注意,我们正在从事件中获取消息并传递给回调。

 

 

exports.handler = (event, context, callback) => {
   let message = event.message;
   callback(null, message);
};

 

 

现在,在 Lambda 中保存更改并点击 URL 以查看更改。观察下面给出的屏幕截图-

观察屏幕截图

点击如下所示的 URL-

 

 

https://rw2ek1xung.execute-api.us-east-
1.amazonaws.com/prod/hello?message=hello%20from%20api%20gateway

 

 

请注意,这里我们将消息作为查询字符串传递给 GET url。然后你可以观察到如下所示的输出-

传递消息

它从 URL 读取发送到消息的详细信息,并在浏览器中显示相同的内容。

作为AWS顶级代理商,选择天.下.数.据的优势

1、专属客服协助注册AWS,或提供注册好的账号直接使用

2、支持收U等多币种支付代付,无额外服务费用

3、AWS多种产品类型,更高产品租赁权限

4、针对大客户,AWS专属折扣优惠

5、7x24小时专属客服,在线解答各种疑问

详询电话40 0-63 8-88 08 官网:https://www.idcbest.com/2023/aws.asp

本文地址:https://www.idcbest.com/idcnews/11008956.html



天下数据手机站 关于天下数据 联系我们 诚聘英才 付款方式 帮助中心 网站备案 解决方案 域名注册 网站地图

天下数据18年专注海外香港服务器、美国服务器、海外云主机、海外vps主机租用托管以及服务器解决方案-做天下最好的IDC服务商

《中华人民共和国增值电信业务经营许可证》 ISP证:粤ICP备07026347号

朗信天下发展有限公司(控股)深圳市朗玥科技有限公司(运营)联合版权

深圳总部:中国.深圳市南山区深圳国际创新谷6栋B座10层 香港总部:香港上環蘇杭街49-51號建安商業大廈7樓

7×24小时服务热线:4006388808香港服务电话:+852 67031102

本网站的域名注册业务代理北京新网数码信息技术有限公司的产品

工商网监图标