无服务器Python包 - dlib依赖

时间:2017-11-28 13:48:36

标签: amazon-web-services aws-lambda serverless-framework serverless

我正在为AWS Lambda构建一个依赖于dlib的Python部署包。 dlib具有操作系统依赖性,它依赖于cmake来构建二进制文件。我想知道如何做到这一点,因为我有一台Mac并且正在我的环境中进行开发。我知道Docker,但我不知道如何设置图像来编译AWS的二进制文件。这样做的任何帮助将不胜感激。

1 个答案:

答案 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。此文件将用于使用正确的软件包部署服务。

如果您还有其他问题,请与我们联系