【问题标题】:Can AWS-Lambda use Python that calls C?AWS-Lambda 可以使用调用 C 的 Python 吗?
【发布时间】:2021-09-27 19:12:58
【问题描述】:

我有一个进行图像比较的 C 库和调用它的 Python。我在 AWS-Lambda 功能列表中没有看到 C 或 C++ 运行时。但是,Python 本身不是在调用 C 吗?我以为解释器实际上是C?我们可以在 AWS-Lambda 上运行从 Python 调用的 C 库吗?

【问题讨论】:

标签: aws-lambda


【解决方案1】:

看起来答案是是的

总之,您可以通过在正确的机器类型上静态编译 C 库,然后将它们包含在您的 Lambda 中来实现。

查看this thread on the AWS developer forums:

如果可能,您将希望在 Amazon Linux 机器上静态编译 C/C++ 库,因为它可以更轻松地包含这些库。您可以在此处找到说明:https://aws.amazon.com/blogs/compute/nodejs-packages-in-lambda/ 我们在这里构建静态编译的 opencv 并将其包含在 NodeJS 包中以供使用。

请注意,引用的链接是关于 NodeJS,而不是 Python。

还有:

根据此处找到的文档:http://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html,您会注意到它是一个 x86_64 环境(Linux 内核版本 – 4.1.19-24.31.amzn1.x86_64),此页面将向您显示哪些基础 AMI 用于Lambda 执行环境。

【讨论】:

    【解决方案2】:

    是的,你可以添加 gcc-c++ 作为层,它会在 /opt/ 中解压

    https://github.com/lambci/gcc-lambda-layer

    【讨论】:

      【解决方案3】:

      从 2021 年开始,您可以使用 docker 映像来执行此操作 (https://docs.aws.amazon.com/lambda/latest/dg/python-image.html)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-02-14
        • 2020-08-28
        • 2017-06-21
        • 2021-09-19
        • 2021-01-14
        • 2015-10-21
        • 2019-06-05
        相关资源
        最近更新 更多