.net core dotnet core从1.0升级到2.1后,未填充APIGatewayProxyRequest

.net core dotnet core从1.0升级到2.1后,未填充APIGatewayProxyRequest,.net-core,aws-lambda,amazon-cognito,.net Core,Aws Lambda,Amazon Cognito,我目前正在将现有产品的dotnet core framework版本从1.0升级到2.1。 相同的UI是以Angular方式创建的,它针对所有需求对AWS Lambdas(使用dotnet core创建)进行服务调用。用户数据存储在AWS Cognito中,每次进行服务调用时,首先通过从Cognito获取数据进行验证。此部分在框架升级后停止工作 以下代码行已停止提取数据: if (!HttpContext.Items.Keys.Contains("APIGatewayRequest")) {

我目前正在将现有产品的dotnet core framework版本从1.0升级到2.1。 相同的UI是以Angular方式创建的,它针对所有需求对AWS Lambdas(使用dotnet core创建)进行服务调用。用户数据存储在AWS Cognito中,每次进行服务调用时,首先通过从Cognito获取数据进行验证。此部分在框架升级后停止工作

以下代码行已停止提取数据:

if (!HttpContext.Items.Keys.Contains("APIGatewayRequest"))
{
    //Log error
}
HttpContext.Items["APIGatewayRequest"] as APIGatewayProxyRequest;
自定义api网关授权器用于Cognito,HttpContext也用于控制器内部

下图显示了我的Request.HttpContext结构:


关于这个问题的任何信息都将非常有用。

最后,在拼命尝试了几天之后,我得到了解决方案。在更新版本的dotnetcore中,HttpContext键的值从“APIGatewayRequest”更改为“LambdaRequestObject”,造成了所有的痛苦。代码直接使用项目中声明的常量的值,而不是使用框架提供的常量“AbstractAspNetCoreFunction.LAMBDA_REQUEST_OBJECT”