1

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

4

1 回答 1

0

最简单的方法是使用插件

无服务器包 python 函数

所以只需在 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. 此文件将用于使用正确的包部署服务。

如果您还有其他问题,请告诉我

于 2017-12-22T09:29:58.727 回答