APIGatewayProxyRequest не заполняется после обновления ядра tnet с 1.0 до 2.1 - PullRequest
2 голосов
/ 17 января 2020

В настоящее время я работаю над обновлением версии базового фреймворка tnet с 1.0 до 2.1 существующего продукта. Интерфейс того же пользователя выполнен в Angular, который выполняет сервисные вызовы в AWS Lambdas (с использованием ядра do tnet) для всех требований. Пользовательские данные хранятся в AWS Cognito, и каждый раз, когда выполняется вызов службы, они сначала проверяются путем извлечения данных из Cognito. Эта часть перестала работать после обновления инфраструктуры.

Следующие строки кода перестали извлекать данные:

if (!HttpContext.Items.Keys.Contains("APIGatewayRequest"))
{
    //Log error
}
HttpContext.Items["APIGatewayRequest"] as APIGatewayProxyRequest;

Для Cognito используется пользовательский авторизатор шлюза API, а также HttpContext внутри контроллера.

На следующем рисунке показана структура Request.HttpContext для меня: enter image description here

Любая информация по этой проблеме будет отличной.

1 Ответ

0 голосов
/ 28 января 2020

Наконец, после нескольких попыток отчаянно я получил разрешение. В более новой версии Do tNet Core значение ключа HttpContext было изменено с «APIGatewayRequest» на «LambdaRequestObject», вызывая всю боль. И код использовал значение непосредственно из константы, объявленной внутри проекта, и не использовал константу "AbstractAspNetCoreFunction.LAMBDA_REQUEST_OBJECT", предоставленную платформой.

...