使用 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 工作的基本图表-
本章将详细解释这些过程并附上相关屏幕截图。
为权限创建 IAM 角色
从如下所示的 Amazon 服务中,选择 IAM 以创建要由 Lambda 函数使用的角色。
转到 IAM 并从左侧部分选择 角色,如下所示-
为 Lambda 函数单击 创建角色。
选择 Lambda 并点击底部的 权限。选择 API Gateway 和 Lambda 所需的权限。
在搜索中搜索API网关,它会列出你所有的相关权限。这里我们选择了 API 网关的完全访问权限,如下所示-
现在,搜索 API 网关,它会列出所有相关权限。这里我们选择了 API 网关的完全访问权限,如下所示-
您还必须为政策重复相同的过程。
选择必要的政策后,点击 查看进行下一步。根据您的选择输入角色的名称,如下所示-
它显示附加到角色的策略。点击 创建角色,我们就完成了角色的创建,可以继续使用 lambda 函数了。
创建 AWS Lambda 函数
转到 AWS services 并单击 lambda 服务以创建用于将其与 api 网关连接的函数。
Lambda 函数的 UI 屏幕如下所示。单击 创建函数按钮以继续创建 Lambda 函数。
输入函数名称并选择我们在上面创建的现有角色。
它会闪现一条消息,说明名为 lambdawithapigateway 的函数已成功创建。
请注意,这里我们将使用 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 创建新资源。
现在,创建一个新资源,如下所示-
输入 资源名称,如下所示。您将看到在最后创建的 url 中输入的资源名称。单击 创建资源,您将在屏幕上看到它,如下所示-
向创建的资源添加 GET/POST 方法,如下所示。从 操作下拉菜单中选择方法。
单击 GET 方法将方法添加到 API。
下一步是将其与 Lambda 函数集成的集成。现在向其中添加 Lambda 函数,如下所示-
将 Lambda 函数链接到 API 网关
选择之前创建的 lambda 函数。
保存更改,您可以看到一个对话框要求许可,如下所示-
点击 确定获得权限。这是 API 网关 HTTP 请求和 Lambda 函数之间的执行细节-
现在,让我们部署 API 网关更改。为此,我们需要从 Actions 下拉列表中选择 Deploy API,如下所示-
选择 部署 API。它将询问部署状态。从部署阶段下拉列表中选择 New Stage 并将阶段名称添加为 Production。
点击 部署按钮,它会将您重定向到如下所示的网址-
从左侧选择 GET 方法以获取 url。在新选项卡中打开 url 以查看来自 Lambda 函数的消息。
这是使用 AWS Lambda 和 AWS API Gateway 的基本示例。在上面的例子中,我们在 Lambda 函数中对消息进行了硬编码。
现在,让我们从 API 网关获取消息详细信息。如果必须从不同的域调用 HTTPS 调用,例如对 API 的 AJAX 调用,我们需要为创建的 API 网关启用 CORS。
选择为 API 创建的资源,然后点击 Actions 下拉菜单-
现在, 启用 CORS 将打开以下屏幕-
您可以使用几种方法来启用 CORS。 Access-Control-Allow-Origin 被标记为 * 这意味着它允许从任何域的 API 网关获取内容。
您还可以指定要与 API 一起使用的域名。单击 启用 CORS 并替换现有的 CORS 标头按钮,它将显示如下所示的确认消息-
单击 是,替换现有值按钮以启用它。 启用 CORS 屏幕如下所示-
将数据传递到 API 网关
打开在 API Gateway displayhelloworld 中创建的 API,如下图所示-
点击 集成请求发送数据如下所示-
选择 Body Mapping Templates 并将此示例的 Content-Type 添加为 application/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小时专属客服,在线解答各种疑问
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo6@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
评论