AWS中Windows上的无服务器计算

Sev*_*yev 6 amazon-web-services aws-lambda serverless-framework

我有一段代码需要通过'网络提供.它非常适合具有HTTP API的AWS Lambda - 无状态,无副作用,相当CPU密集型功能,blob in,blob out.它是用C#/ .NET编写的,但它不是纯.NET,它使用UWP API,因此需要Windows Server 2016.

AWS Lambdas仅在Linux主机上运行,甚至在C#主机上运行.有没有办法以无服务器的方式在亚马逊云中部署这个部分 - 可能是Lambda以外的东西?我知道我可以使用EC2 VM,但这是无服务器架构的发明.

Zan*_*non 4

Lambda 是 AWS 上无服务器计算的唯一选择,而 Lambda 函数仅在 Linux 计算机上运行。

如果需要在 Windows 计算机中运行无服务器函数,请尝试Azure Functions。这相当于 Microsoft 云中的 Lambda。我不确定它是否在 Windows Server 2016 机器上运行,并且找不到任何对该平台的引用,但我希望,作为一项全新的服务,他们正在使用自己的边缘技术。

要确认该平台是否是您需要的,请尝试以下功能:

using System.Management;
using System.Net;
using System.Threading.Tasks;    

public static async Task<HttpResponseMessage> Run(HttpRequestMessage req, TraceWriter log)
{
    // Get OS friendly name
    // http://stackoverflow.com/questions/577634/how-to-get-the-friendly-os-version-name
    var caption = (from x in new ManagementObjectSearcher("SELECT Caption FROM Win32_OperatingSystem").Get().Cast<ManagementObject>()
                  select x.GetPropertyValue("Caption")).FirstOrDefault();
    string name = caption != null ? caption.ToString() : "Unknown";

    // the function response
    return req.CreateResponse(HttpStatusCode.OK, name);
}
Run Code Online (Sandbox Code Playgroud)