AWS Lambda | Azure Python Library Intergration



我正在尝试使用AWS Lambda使用Python进行Azure API调用。所以我决定为Azure计算管理库创建一个Lambda层。我从这个链接下载了azure-mgmt-compute 17.0.0。然后将zip添加到Lambda Layers,当我试图导入azure库时,我面临以下错误:

{
"errorMessage": "Unable to import module 'lambda_function': No module named 'azure'",
"errorType": "Runtime.ImportModuleError"
}

然后我决定使用以下命令在虚拟环境中创建一个zip包:

virtualenv v-env;
source v-env/bin/activate;
pip install azure-mgmt-compute;
deactivate;
cd v-env/lib/python3.8/site-packages;
zip -r9 ${OLDPWD}/function.zip .;

不过,运气不好,以前有人实现过这样的东西吗?

您可以使用无服务器来实现这一点。创建requirements.txt并添加所有依赖程序包列表。在你的情况下"azure mgmt计算";。在自定义部分下的serverless.yml中,添加以下内容并引用函数中的lambda层。并运行sls-deploy-stage-dev。这将创建lambda层并在lambda中添加层。您可以直接在lambda中导入依赖库。

functions:
azure_container_instance:
handler: azure_container_instance/handler.lambda_handler
layers:
- Ref: PythonRequirementsLambdaLayer
timeout: 300
custom:
pythonRequirements:
dockerizePip: non-linux
slim: true
strip: false
fileName: ./requirements.txt
layer:
name: ${self:provider.stage}-layerName
description: Python requirements lambda layer
compatibleRuntimes:
- python3.8
licenseInfo: GPLv3
allowedAccounts:
- '*'

最新更新