【发布时间】:2016-04-20 15:28:05
【问题描述】:
我正在尝试在 AWS lambda 中运行 dotnet core 1.0 控制台应用程序。这只是我出于兴趣而做的事情,但是我遇到了一些问题。
我的 dotnet 核心应用如下所示:
using System;
namespace ConsoleApplication
{
public class Program
{
public static int Main(string[] args)
{
Console.WriteLine("Hello from dotnet!");
return 0;
}
}
}
我在 Ubuntu 14.04 上编译了 dotnet 应用程序,使用:
dotnet build --native --output out --framework dnxcore50
这为我提供了一个可以在 Linux 上运行的本机应用程序。这一切都有效!
从这里我想看看我是否可以在 AWS lambda 中运行它。由于 lambda 不支持 dotnet,我找到了一些 nodejs 来执行我的 dotnet 应用程序:
var exec = require('child_process').exec;
exports.handler = function(event, context) {
console.log('Hello from nodejs!');
child = exec("./hwapp", function(error) {
context.done(error, 'done');
});
child.stdout.on('data', console.log);
child.stderr.on('data', console.error);
};
我通过上传包含我的 dotnet core 1.0 应用程序和 nodejs 文件 - index.js 的 zip 文件创建了一个 Lambda 函数。当我测试 lambda 函数时,我收到如下错误:
{
"errorMessage": "Command failed: /bin/sh -c ./hwapp\n",
"errorType": "Error",
"stackTrace": [
"",
"ChildProcess.exithandler (child_process.js:213:12)",
"emitTwo (events.js:87:13)",
"ChildProcess.emit (events.js:172:7)",
"maybeClose (internal/child_process.js:821:16)",
"Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)"
]
}
我尝试了很多不同的方法,但我被卡住了。我认为它可能是由于在 Ubuntu 而不是 Amazon Linux 上构建 dotnet 应用程序,但我真的不确定......有人可以帮助我吗?
谢谢。
【问题讨论】:
-
你有没有得到这个工作?
标签: .net node.js amazon-web-services asp.net-core aws-lambda