如何设置一个 .NET core web api
此外,一个不断检查队列并逐个处理消息的例程。
根据要求,api 将充当消息的接收者,每分钟可能会被点击数百次,而它收到的消息应该一个一个地处理。我对 web apis 有点陌生,所以想知道这样的设置是否很好,如果是,如何将不同的组件放在一起。
提前致谢..
我们的 api 设置如下
Development : ASP NET Core 2.1 C#
Backend api deployment : In AWS through docker
Gateway : AWS API Gateway which contains custom lambda Authorizer
Run Code Online (Sandbox Code Playgroud)
需求:在后端api中获取API网关请求id以进行日志记录和请求跟踪。
当请求通过 API 网关时,它会生成一个请求 id。这是由网关在“ x-amzn-RequestId ”的响应标头中设置的,并且可以在客户端(如邮递员)中可见。我发现这个 id 也可以在APIGatewayCustomAuthorizerRequest - 对象的 lambda 授权者中使用。RequestContext.RequestId,我可以将其用于授权者日志记录。
现在,当请求被授权时,将调用实际的 api。我希望在此 api 中使用相同的请求 id 来进行日志记录。最终 - 通过具有相同请求的 gateway-aurhorizer-api 识别请求的旅程并生成统计数据。
在api代码中,我们还实现了APIControllerActionFilter的OnActionExecuting()。我想知道网关请求 ID 是否可用?或者有什么方法可以将 id 从网关传递到实际的 api 吗?