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

蜗牛vps教程2023-08-25330

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 工作的基本图表-

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

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

为权限创建 IAM 角色

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

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

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

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

为 Lambda 函数单击 创建角色。

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

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

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

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

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

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

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

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

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

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

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

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

创建 AWS Lambda 函数

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

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

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

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

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

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

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

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

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

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

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

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

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

创建 API 网关

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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

将 Lambda 函数链接到 API 网关

选择之前创建的 lambda 函数。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

将数据传递到 API 网关

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

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

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

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

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

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

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

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

观察到我们已经将消息作为参数从 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 以查看更改。观察下面给出的屏幕截图-

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

点击如下所示的 URL-

 

 

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

 

 

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

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

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

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

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

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

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

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

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

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo6@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram