Лямбда-функция завершается неудачно - PullRequest
0 голосов
/ 09 апреля 2020

У меня странная проблема при создании Java лямбда-функции, которая имеет основную функцию проверки токена JWT. Я использую terraform для создания лямбды и загружаю свой файл Jar в s3 на данный момент. Ниже приведен блок проверки токена

public boolean validate(String token) throws Exception {

    try {

        Jws<Claims> claims = Jwts.parser().setSigningKey("mysigningkey").parseClaimsJws(token);

        if (claims.getBody().getExpiration().before(new Date())) {

            throw new Exception("Token expired");
        }

        return true;

    } catch (JwtException | IllegalArgumentException e) {

        throw new InvalidJwtAuthenticationException("Some exception");
    }
}

Эта строка вызывает проблему

Jws<Claims> claims = Jwts.parser().setSigningKey("mysigningkey").parseClaimsJws(token);

Я поставил Исключение и Ошибка в блоке catch, но он не печатает никаких сообщений. Но эта строка не выполняется. Я попытался вручную создать функцию в консоли AWS с тем же файлом JAR, и тот же код работал нормально.

Есть идеи об этом поведении? Или какие-либо стратегии отладки? В журналах наблюдения за облаком это только что напечатанное выполнение не было успешным, и никаких других указанных c сообщений об ошибках.

Следующее сообщение записывается в журналы Cloudwatch:

REPORT RequestId: ####### Duration: 1835.00 ms Billed Duration: 1900 ms Memory Size: 512 MB Max Memory Used: 93 MB Init Duration: 349.72 ms 

Время ожидания установлено как 3 секунды

1 Ответ

0 голосов
/ 09 апреля 2020

Это связано с проблемой тайм-аута. Тайм-аут по умолчанию для Lambda при создании составляет 3 секунды, потому что проверка токена занимает больше времени, чем выход Lambda, достигая предела времени. Увеличено время ожидания до 15 сек c и работает нормально. Но я не видел ни одного сообщения об ошибке в журналах, которое намекает мне, что это из-за таймаута

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...