【发布时间】:2017-04-19 23:48:56
【问题描述】:
由于亚马逊现在支持 C# 来构建 AWS Lambda 函数,我想尝试一下,但是在执行测试时我卡住了。
这是我的简单课程:
using System;
using System.IO;
using System.Text;
using Amazon.Lambda.Core;
//using Amazon.Lambda.Serialization.Json;
namespace MyTest
{
public static class LambdaFunction
{
public static string Handler(Stream stream)
{
return "Hello World";
}
}
}
我使用 .Net Core 运行时编译它。结果是包含程序集 MyTest.dll 文件和 MyTest.deps.json 文件的文件夹 netstandard1.4。这些压缩为 .zip 的文件将上传到 AWS Lambda 控制台。
在配置选项卡中,Handler被定义为:
MyTest::LambdaFunction::Handler
但是当我点击测试按钮时,这是返回的错误消息:
{
"errorType": "LambdaException",
"errorMessage": "Unable to load type 'LambdaFunction' from assembly 'MyTest, Culture=neutral, PublicKeyToken=null'."
}
注意 1:在我知道我需要使用 .Net Core 而不是完整的 CLR 之前,我收到了无法加载程序集的错误,所以我认为程序集现在编译好了。
注意 2:我已经为 Handler 方法以及静态/实例类或方法或任何组合尝试了几种参数类型(Stream 和 String 是唯一受支持的,但没有自定义序列化程序),但都无济于事。
任何已经完成这项工作的人可以给我一些指导吗?
【问题讨论】:
标签: c# amazon-web-services .net-core aws-lambda