Tag: aws api gateway

执行等待异步操作时的AWS Lambda行为?

假设APIGateway触发一个等待10秒的函数(处理程序) public async Task Get(APIGatewayProxyRequest request, ILambdaContext context){ var x = await Wait10Async(); return SomeAPIGatewayProxyResponse; } Q1:当await将控制流返回给函数处理程序本身时,这个容器(执行环境)会发生什么? 显然Lambda在返回到APIGateway之前等待Task完成,但在这10秒内容器(或其他)是否接受并执行更多Get函数? 问题背后的原因是AWS Lambda有1000个并发执行限制,它说每个执行都在不同的容器中运行,因此它让我对这个场景提出质疑: 1 – APIGateway接收1000个同时请求并启动1000个Lambda处理程序,在10秒后完成 在第一次请求之后(在完成之前) 2 – 3秒,另一个让100个请求来到APIGateway。 在这种情况下,所有lambda容器都已耗尽。 这是发生了什么或await有解决这个问题的魔力? 我知道await如何阻止经典视图应用程序中的循环。 但它在Lambda执行环境中的表现如何?

如何使用Swagger生成选项(CORS)

对于我们正在开发的项目,我们自动生成Swagger文件。 但是现在我们正在努力研究CORS部分。 我们正在使用Amazon API网关导入apifunction。 要与Swagger和CORS结合使用,我们必须在源代码中创建一个额外的操作(操作),它允许每个api方法(操作)的CORS(选项)! 例如: [HttpOptions] [Route(“{id}”)] [ProducesResponseType((int)HttpStatusCode.OK)] public IActionResult UserOptions() { return new OkResult(); } 正如您所看到的,这会使代码变得更脏。 这是一个临时修复,但我们找不到另一种方法。 有没有办法在swagger定义文件中自动生成这个? 或者我们如何做到这一点,亚马逊API网关需要这个(文档: http : //docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html )

AWS Lambda C# – 访问自定义上下文

我有一个用.NET Core(C#)编写的简单Lambda函数,它使用APIGatewayProxyRequest对象来遍历所有请求属性。 如果我测试这个lambda函数(来自AWS Lambda),并传递一个包含基本信息的示例事件配置: 我可以这样得到这样的信息: public string FunctionHandler(APIGatewayProxyRequest request, ILambdaContext context) logger.Logger.Log($”Body: {request.Body} \n”); logger.Logger.Log($”Path: {request.Path} \n”); logger.Logger.Log($”Resource: {request.Resource} \n”); 我怎么能从相同的数据访问自定义上下文或授权者值: 我试过了: logger.Logger.Log($”RequestContext Authorizor: {request.RequestContext.Authorizer} \n”); 包括它的不同属性( StringKey , PrincipleId等) 从Node.js看来,这可以通过使用这个简单地实现: event.requestContext.authorizer.customKey 在C#中没有这样的东西?

AWS API网关签名

我正在尝试向亚马逊网关签署我的请求。 但每当我尝试发送POST请求时,它都会告诉我我的签名已过期。 任何想法将不胜感激。