2017-04-04 105 views
2

我有一個項目API,需要一些MATLAB代碼才能運行。MATLAB運行時可以在AWS Lambda上執行嗎?

目前,MATLAB代碼是使用MATLAB編譯器編譯的,並在EC2上運行MATLAB Runtime和Python。

我試圖從EC2遷移到AWS Lambda。這需要我以某種方式將MATLAB編譯的可執行文件打包到Lambda包中。

在我看來,有兩種選擇:

  1. 以某種方式獲取MATLAB編譯器來編譯純粹靜態可執行
  2. 包裝,目前我的Lamda功能使用MATLAB運行(運行時位於〜1GB的空間,所以這似乎並不可行)

有沒有人在AWS Lambda或類似的東西上使用MATLAB的任何經驗?我有沒有其他的選擇?

回答

0

我沒有這種方式運行AWS lambda函數的經驗,但是您不應該真的有問題。

有關於如何做到這一點的AWS文檔。也許從這裏開始:https://aws.amazon.com/blogs/compute/running-executables-in-aws-lambda/

我已經在過去做過這樣的事情,當時在標準Lambda棧中沒有可用的版本的Node.js可執行文件。

的基本步驟是:

  1. 建立一個EC2實例上運行Linux的亞馬遜
  2. 編譯該實例的二進制文件。
  3. 配置包(你需要看到如何做到這一點更多的文檔)
  4. 郵編你的包
  5. 上傳到您的lambda函數(或者CLI或控制檯)

沒有理由你不應該能夠用matlab可執行文件完成這個工作,除非這個包的總大小。如果軟件包大小過大,可能會遇到限制和冷啓動問題。

希望這會有所幫助。