使用AWS Lambda(Python),API网关和DynamoDB从头开始构建CRUD无服务器API。
#aws #python #serverless #devops

1。简介

aws lambda是一种无服务器的计算解决方案,它允许您在不需要服务器配置或管理的情况下运行代码。您只为使用的计算时间付费。这表明我自己的项目将无法获得很多流量,这是AWS Lambda的绝佳选择。此用例是可变流量或可以扩展为零的应用程序的理想选择。

2。先决条件
IAM角色/IAM用户具有足够的权限。
AWS CLI安装
python3
AWS CLI
git

3。 AWS Resources

您需要下面列出的AWS资源。

aws iam角色
AWS lambda
AWS API网关
AWS DynamoDB

4。体系结构

Image description

您可以使用AWS控制台手动创建资源,也可以使用Terraform,AWS SAM/CloudFormation等任何IAC选项来利用此资源。在本文中,您将使用AWS控制台将事物更容易

5。部署步骤

步骤-1-创建一个角色(按照您的意愿命名并添加权限)

Image description

step -2-创建一个lambda函数(按照您的意愿将其命名,选择最新的Python版本作为运行时)

Image description

Python代码可以在此处找到:

git克隆https://github.com/Assassin010/CRUD-Serverless-API-Python-G.git

git克隆https://Assassin10@bitbucket.org/assassin10/crud-serverless-api-python-b.git

git克隆https://gitlab.com/Assassin010/CRUD-Serverless-API-Python-L.git

Image description

Image description

步骤-3-构建REST API

Image description

创建3个资源
路径 /健康的健康
产品路径 /产品
产品路径 /产品< /p>

Image description

步骤-4

为每个资源创建方法

  • 在健康资源上,创建“获取”方法

  • 在产品资源上,创建“ get”,“ post”,“ patch”和
    “删除”

  • 在产品资源上,创建“ get”

Image description

检查所有资源上的所有方法的所有框,并选择了您创建的lambda(步骤-2)

Image description

步骤-5部署API

Image description

Image description

步骤-6创建DynamoDB表

Image description

6。测试所有API

帖子:对于单个产品

{
"productId": "bag",
"color": "black",
"price": "100",
"quantity": "1500"
}

Image description

Image description

获取:对于单个产品

Image description

补丁:对于单个产品

Image description

Image description

删除:对于单个产品

Image description

获取多个产品:

Image description

注意:在尝试获取所有产品之前,您将需要几个产品。

7。参考

https://aws.amazon.com/lambda/
https://aws.amazon.com/api-gateway/
https://aws.amazon.com/dynamodb/
https://aws.amazon.com/cloudwatch/
https://boto3.amazonaws.com/v1/documentation/api/latest/index.html

快乐的编码!
end-â-——————————— --—————————— ---

-

如果您喜欢我的作品并想支持我
最好的方法是在此处关注我

随时提供喜欢或写评论,所以我知道这篇文章对您有多帮助。

gauthier kwatatshey__
LinkdIn上与我联系

Medium