我使用 kafka、numpy、boto3 等模块创建了一个 AWS python lambda。 AWS环境已经提供了Boto3。对于 Numpy,我使用 AWS 预定义层。 将其与 kafka 和其他模块一起部署为 .zip 文件后,大小约为 14 MB,AWS UI 不会显示代码“您的 Lambda 函数“ABC”的部署包太大,无法启用内联代码编辑。但是,您仍然可以调用你的函数。”
每当我做出任何改变时,我遵循的流程是-
我认为这个过程很乏味,应该存在一种更简单、更好的方法,以便其他开发人员也应该能够轻松地贡献增强功能。 我还想了解如何将其提交到 git,这只是我需要提交的 .py 文件吗?如果是,那么我还应该提交requirements.txt,以便其他人可以轻松地在他们的环境中开始测试吗?我是否需要创建任何管道来使整个过程自动化并且对本地测试更加适合开发人员? 有没有任何工具可以使这个过程更加简单?请指导。
对于 git 部分:我建议只检查您的主 python 文件和一组相关的requirements.txt 文件。
我用于更轻松地部署 Lambda 的两条路径是 Serverless 和 Terraform。我将简要概述它们(还有亚马逊的 CDK,但我不太熟悉)。
handler.py
、一个 requirements.txt
文件和一个 serverless.yml
来部署 lambda。Terraform 的主要优点是以更通用的方式进行更改跟踪,但如果您对其中任何一种都不熟悉,我认为无服务器会更简单。 (Serverless 使用 CloudFormation 堆栈来跟踪更改,这比 Terraform 的状态管理有点时髦)。
最理想;您希望在合并时在管道中运行这些东西,以便在代码审查后使用新的代码更改更新您的 lamda 并合并到 git 存储库中。它可能看起来像:
如果您需要我澄清任何事情,请告诉我!