c# - 将自定义 AWS Lambda 运行时与 asp.net 核心一起使用
问题描述
最近亚马逊宣布支持自定义 .net 核心运行时:https ://aws.amazon.com/blogs/developer/announcing-amazon-lambda-runtimesupport/
我当前的 aws lambda 项目是使用 .NET Core 2.1 编写的 C#;2.2 尚不支持,因此我想使用自定义运行时。
但是,似乎为了使用自定义运行时,有必要使用LambdaBootstrap
. 从文档中我不清楚是否可以将它与 asp.net 核心一起使用:
https://github.com/aws/aws-lambda-dotnet/tree/master/Libraries/src/Amazon.Lambda。运行时支持
ps 目前我的 aws lambda 正在使用 asp.net 核心进行身份验证和其他
解决方案
这是一个很好的演示/教程,展示了作者如何使用 lambda 引导程序:
作者使用以下代码在本地调试和 lambda 入口之间切换:
public class LocalEntryPoint
{
private static readonly LambdaEntryPoint LambdaEntryPoint = new LambdaEntryPoint();
private static readonly Func<APIGatewayProxyRequest, ILambdaContext, Task<APIGatewayProxyResponse>> Func = LambdaEntryPoint.FunctionHandlerAsync;
public static async Task Main(string[] args)
{
#if DEBUG
BuildWebHost(args).Run();
#else
// Wrap the FunctionHandler method in a form that LambdaBootstrap can work with.
using (var handlerWrapper = HandlerWrapper.GetHandlerWrapper(Func, new JsonSerializer()))
// Instantiate a LambdaBootstrap and run it.
// It will wait for invocations from AWS Lambda and call the handler function for each one.
using (var bootstrap = new LambdaBootstrap(handlerWrapper))
{
await bootstrap.RunAsync();
}
#endif
}
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.Build();
}
推荐阅读
- java - 将带有密钥动态的json转换为POJO .. java spring boot
- r - 如何分组两次?
- java - java - 如何使用Java中的嵌套for循环生成那么多编号的字母行?
- xampp - 为什么 Sequel Pro 无法连接到 Catalina 上的本地 XAMPP 服务器?
- ios - 如何检测授权对话框 Core Motion 的结果?
- asp.net-core-mvc - IdentityServer4 - “路径不适用于允许的 IdentityServer CORS 端点”
- mysql - 查询返回比指定范围早或晚 3 天的可用酒店房间
- ruby-on-rails - 在 Rails 中,如何在暂存/生产 PG 数据库中存在列限制,但对于新创建的开发 PG 数据库却没有?
- reactjs - 如何使用功能组件和 React Router v5 拦截 React SPA 中的后退按钮
- android - ProcessException:进程超时:当xode构建完成Flutter应用程序时