MATLAB Runtime 可以在 AWS Lambda 上执行吗?

Posted

技术标签:

【中文标题】MATLAB Runtime 可以在 AWS Lambda 上执行吗?【英文标题】:Can the MATLAB Runtime execute on AWS Lambda? 【发布时间】:2017-04-04 18:30:19 【问题描述】:

我有一个项目 API,需要一些 MATLAB 代码才能运行。

目前,MATLAB 代码使用 MATLAB 编译器进行编译,并在 EC2 上使用 MATLAB Runtime 和 Python 运行。

我正在尝试从 EC2 迁移到 AWS Lambda。这需要我以某种方式将 MATLAB 编译的可执行文件打包到 Lambda 包中。

在我看来,有两种选择:

    不知何故让 MATLAB 编译器编译一个静态可执行文件 将 MATLAB 运行时打包并与我的 Lamda 函数一起使用(运行时当前位于大约 1GB 的空间中,因此这似乎不可行)

有没有人有在 AWS Lambda 上使用 MATLAB 或类似的东西的经验?我有其他选择吗?

【问题讨论】:

成功了吗? @Matt 不幸的是没有。我们必须使用 EC2 来支持运行时。 @Gbps 你能告诉我你在这个用例中遇到了什么问题吗? @Gbps 好的 - 我正在运行它。如果你想这样做,请跟踪我。 【参考方案1】:

我没有以这种方式运行 AWS lambda 函数的经验,但您应该没有问题。

有关于如何做到这一点的 AWS 文档。也许从这里开始:https://aws.amazon.com/blogs/compute/running-executables-in-aws-lambda/

我过去曾使用当时标准 Lambda 堆栈中不可用的版本的 Node.js 可执行文件完成此操作。

基本步骤是:

    设置运行 Amazon Linux 的 EC2 实例 在该实例上编译您的二进制文件。 配置您的捆绑包(您需要查看有关如何执行此操作的更多文档) 压缩包 上传到您的 Lambda 函数(cli 或通过控制台)

您没有理由不能使用 matlab 可执行文件完成此操作,除非捆绑包的总大小。如果捆绑包太大,您可能会遇到限制和冷启动问题。

希望这会有所帮助。

【讨论】:

EC2 不是 AWS Lambda @Matt 解释可能不是很清楚。 EC2 用于捆绑。因此,您可以从源代码构建,创建一个可以在 lambda 上运行的包......并将其用作 lambda 实例的基础。我认为自从写下这个问题以来,AWS 还发布了更多工具来支持使用替代二进制文件和库。

以上是关于MATLAB Runtime 可以在 AWS Lambda 上执行吗?的主要内容,如果未能解决你的问题,请参考以下文章