我正在为AWS Lambda构建一个依赖于dlib的Python部署包。 dlib具有操作系统依赖性,它依赖于cmake来构建二进制文件。我想知道如何做到这一点,因为我有一台Mac并且正在我的环境中进行开发。我知道Docker,但我不知道如何设置图像来编译AWS的二进制文件。这样做的任何帮助将不胜感激。
答案 0 :(得分:0)
最简单的方法是使用插件
无服务器封装-蟒函数
所以只需在serverless.yml中定义
package:
individually: true
custom:
pkgPyFuncs:
buildDir: _build
requirementsFile: requirements.txt
cleanup: true
useDocker: true
重要的是使用useDocker:true - 这是基于AWS AMI启动docker(本地) - 因此您获得了正确的依赖关系。
之后在serverless.yml中创建你的函数:
functions:
test:
name: ${opt:stage, self:provider.stage}-${self:service}-test
handler: lambda_function.lambda_handler
package:
include:
- ./test
artifact: ${self:custom.pkgPyFuncs.buildDir}/${self:functions.test.name}.zip
在您的测试文件夹中放置requirements.txt
。此文件将用于使用正确的软件包部署服务。
如果您还有其他问题,请与我们联系