У меня есть функция AWS Lambda, которая запускается командой Alexa. В каждой команде Alexa я хочу вызвать внешнюю конечную точку API для выполнения желаемой операции.
У меня есть jar, который вызывает API и имеет следующий класс externalService с функцией invokeCommand. Фляга была добавлена как зависимость в моем проекте Java.
if(value.equals("something")) {
externalService.invokeCommand();
}
invokeCommand вызывает внешний API, защищенный сертификатом SSL, и выдает ошибку
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
В Elastic Beanstalk я могу создать zip-папку с помощью JarKeystore и procfile и я можем предоставить хранилище ключей в качестве аргумента в файле procfile, который запустит jar с хранилищем ключей и предоставит доступ к защищенной конечной точке SSL.
if(value.equals("something")) {
externalService.invokeCommand(); // error on AWS Lambda
}
Однако я не думаю, что смогу сделать то же самое с Lambda, которая не позволяет мне вызывать защищенную конечную точку SSL.
- Есть ли способ упаковать свой jar-файл в trustStore?
- Есть ли способ запустить jar-файл с параметром командной строки в AWS Lambda так же, как procfile в ElasticБобовый стебель.