gpt4 book ai didi

python - 使用相同库的多个 AWS Lambda 函数

转载 作者:太空宇宙 更新时间:2023-11-03 11:43:06 26 4
gpt4 key购买 nike

我正在为我的 Android 应用程序后端编写 AWS Lambda 函数。我在 AWS 上的 python 中有多个 Lambda 函数,它们需要相同的库。例如,我需要访问数据库,所以我在所有 lambda 函数中都使用了 pymysql 库。但我不确定我这样做是否正确。

我是否必须将这些库包含在我部署的每个函数包中,或者是否有更好的方法来引用我在以前的函数中使用的库?

我正在关注 Tutorial: Accessing Amazon RDS in an Amazon VPC .我有两个功能。我在 zip 中分别上传每个函数及其依赖项。 Zip 包含代码和库。库占用了大部分空间,使 zip 大小变大。现在第二个函数也需要相同的库,因此再次使用相同的库制作 zip 感觉不对。

还有一些指向文档中提到的位置的链接也很有帮助。我没有在文档中的任何地方找到它。

最佳答案

您可以使用 AWS Lambda Layers 分享您的代码.例如,使用 AWS::Lambda::LayerVersionAWS::Serverless::LayerVersion 定义它们。然后,您可以在 Python Lambda 函数中引用它们。这里使用 AWS SAM :

  MyLambdaFunction:
Type: AWS::Serverless::Function
Properties:
CodeUri: function_code/
Handler: app.lambda_handler
Runtime: python3.6
Layers:
- !Ref MySharedLayer
MySharedLayer:
Type: AWS::Serverless::LayerVersion
Properties:
LayerName: SharedLayerName
Description: Some shared code
ContentUri: layer_code/
CompatibleRuntimes:
- python3.6
RetentionPolicy: Retain

每个 Lambda 函数都将在 /opt 中提供共享代码。然后可以在函数中使用它。

关于python - 使用相同库的多个 AWS Lambda 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45258995/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com