在大多数场景中,我们综合AWSλ与API网关运行我们的应用程序是用Python编写的,节点。js、去、。net、Java、Ruby等等。
λ集成跟踪路径和HTTP方法结合Lambda函数。我们可以配置API网关通过HTTP请求的内容或总结所请求的内容在一个文档,包括所有的信息,包括标题、资源、路径和方法。
起程拓殖是什么?
起程拓殖是一个工具,它允许您构建基础设施代码,改变,基础设施管理和版本。它是最受欢迎的基础设施代码(Iac)工具,用于自动化基础设施任务,自动配置您的云资源。它是开源的。起程拓殖可以管理底层的组件(比如计算、存储和网络资源,以及高级的组件(比如DNS条目和SaaS特性。
AWSλ是什么?
AWSλ是serverless计算平台所提供的AWS,你可以上传你的代码并使用AWS塞维它是自动执行的。
的概念serverless计算指的是你不需要维护或管理自己的服务器来运行某些功能。这意味着我们可以上传我们的代码(Python,节点。js、去、。net、Java、Ruby)和λ将管理函数运行时,缩放、负载平衡等
Amazon API网关是什么?
API网关是一个完全托管服务,帮助开发人员创建API来后端系统运行在Amazon EC2,λ,或任何公开可访问web服务。API网关支持RESTful API包括RESTAPIs、HTTP API,以及网络套接字API。
API能够修改请求中的信息和转发到一个Lambda函数API网关服务,您可以使用它来创建应用程序编程接口。
技能:
- 一个AWS帐户
- VS代码工作室
- 起程拓殖安装在你的机器上。
工作流起程拓殖的代码:
起程拓殖脚本运行遵循以下步骤:
在我们开始之前,我们必须创建模块我的角色,Lambda函数和一个API网关。为此我们需要创建单独的主要变量,输出文件所示的工作流。在λ模块我们将创建python文件然后我们想运行创建的主要变量,主要起程拓殖代码的输出文件。
| - - - - - -λ与API集成网关(目录名)
|”
|——模块
| | - - - - - -我的角色
| | | - main.tf
| | | - outputs.tf
| | | - variables.tf
| |
| |
| | - - - - - -λ
| | | - main.tf
| | | - outputs.tf
| | | - variables.tf
| | | - hello_lambda
| | | hello_lambda.py
| | -hello_lambda.zip
| |
| |
| | - - - - - -API网关
| | | - main.tf
| | | - outputs.tf
| | | - variable.tf
| | |
| | |
| | - |main.tf
| | - |outputs.tf
| | - |terraform.tfvars
| | - |起程拓殖tfstate
| | |
”
我的角色模块
主要文件我角色的模块:
我们需要创建我角色的主文件lambda函数和API网关模块,这意味着我们将需要决定承担角色,λ许可,λ执行。
Assume_role_policy -出一个实体的政策允许承担的角色。
现在,我们必须提供AWSλAPI网关通过附加的许可政策λ执行我的角色。
aws_lambda_permission -允许API网关和AWSλ访问另一个。
为vpc_access aws_iam_role_policy _attachment _execution- - - - - -与AWS访问vpcλ。
变量文件我角色的模块:
这是变量文件我的模块,我们已经定义了我的角色名字,API网关在攻击,λ在攻击,在攻击我的角色。
我的角色模块的输出文件:
在这个文件,我们将需要定义在攻击我的角色。
Lambda函数模块:
第二个模块,您将需要创建是Lambda函数和归档文件,其中包含应用程序中,您需要运行λ模块的主文件。
编写Python应用程序:
让我们调用的Python应用程序将运行在Lambda函数。你将需要:
- 创建一个目录hello_lambda main.tf平行
- 在该目录中,创建一个文件hello_lambda.py
- 添加以下Python脚本运行:
进口json
def lambda_handler(事件、上下文):
# TODO实现
返回{“statuscode”: 200年,
“身体”:json。转储(“你好λ”)
}
所谓的Python应用程序之后,您将需要创建一个. zip文件。AWS Lambda函数需要存储在. zip代码正确上传AWS服务器。这个. zip中提到,我们要上传将主。tf的代码。
Lambda函数模块的主要文件:
aws_lambda_function。KClambda——包含你的函数代码配置Lambda函数。它还设置运行时Python3.8,分配hello_lambda.py中定义的处理函数的处理程序。
Lambda函数变量文件模块:
在这里您将声明变量和函数名λ,λ在攻击,我的角色是Lambda函数。资源IAM_role_arn指定一个角色授予权限访问AWS服务功能和资源在您的帐户。
Lambda函数模块的输出文件:
这是Lambda函数的输出文件,宣布lambda_arn。
调用在攻击-攻击来调用lambda函数。
API网关模块:
在这一步中,我们将创建POST &选择方法,该方法集成,并将其部署。
API网关是一个AWS管理服务,允许你创建和管理HTTP API。它支持集成与AWS Lambda函数,允许我们使用Lambda函数实现HTTP API来处理HTTP请求和响应。
主要文件的API网关模块:
在这里我们将创建rest_api网关。rest_API是一家集资源和方法集成与后端HTTP端点,Lambda函数或其他AWS服务。
在下面图表中,我们会遇到内容如:
- rest_api_id——定义了REST API相关的ID。
- stage_name——定义阶段的名称。
- resource_id——定义了REST API资源ID。
- http_method-the方法调用相关的资源。
- aws_api_gateway_rest_api定义了一个API的名称网关和协议HTTP方法。
- aws_api_gateway_integration配置API网关使用Lambda函数
- aws_api_gateway_deployment——部署可以发布到调用端点通过aws_api _gateway _stage资源。
变量文件API网关模块:
这里我们宣布API名称和λ是集成API方法。
输出文件的API网关模块:
在这里我们检查了api_arn api_gateway的执行攻击。
execution_arn——执行攻击中使用lambda_permission来源是当网关允许API来调用一个Lambda函数。
主要的起程拓殖脚本文件:
在这里,我们需要编写一个起程拓殖脚本。我们将创建一个主文件调用模块,我的角色,Lambda函数和API网关。
起程拓殖Tfstate文件:
同时起程拓殖状态文件更新时创建一个新的资源。Tfstate文件跟踪所有您所作的改变就像创建、删除或更新。它告诉我们起程拓殖版本使用。
这是最重要的文件在起程拓殖,没有它的过程根本不工作。(该文件的所有内容都以JSON格式)。
配置运行以下命令:
- 起程拓殖init:用于初始化一个工作目录包含起程拓殖配置文件。
- 起程拓殖计划:检查哪些资源将起程拓殖应用部署时创建的。为此,我们起程拓殖计划使用。
- 起程拓殖应用:建立基础设施部署。
在AWS控制台输出:
在这里我们看到了我的角色创建起程拓殖脚本编写的,
然后,我们可以看到Lambda函数:
的API网关“demo-api”创建与POST和选项方法我们提到起程拓殖代码。
结论:
这是最终的输出,我们可以看到AWS Lambda函数与API集成网关成功使用起程拓殖代码。在第一阶段的输出,我们可以看到已经创建了我的角色,之后我们看到了Lambda函数和API创建网关成功。
Perficient如何帮助你?
Perficient是注册Amazon Web服务伙伴有超过10年的经验提供企业级应用程序在云平台解决方案和专业知识,联系中心,应用现代化,迁移,数据分析,移动开发和管理工具,物联网,serverless,安全,和更多。配上我们的行业领先的战略和团队,Perficient装备来帮助企业解决最棘手的挑战,充分利用他们的实现和集成。
非常有用的,做得好! !
伟大的工作,坚持下去!
太棒了! !博客(Kunal,很好地解释和书面的完整过程。
干得好!
一个适当的和深刻的解释文章! !
Kunal,很多恭喜,这个宝石的信息篇! !
期待从你阅读更多类似的文章在未来!
所有最好的!
篇好文章,
解释也容易理解
好的工作. .