Я пытаюсь использовать AWS Secrets Manager для хранения секретов микросервиса springboot. Мне удалось все настроить, и я вижу, что при запуске приложение загружает секрет, который в моем случае является документом json. В частности, я использую
'org.springframework.cloud:spring-cloud-starter-aws-secrets-manager-config:2.2.1.RELEASE'
Поскольку я заметил, что AwsSecretsManagerPropertySource смог проанализировать ответ json на карту объектов, я попытался использовать вложенную структуру для своего секрета, но если я попытался ввести какие-либо поле json с использованием аннотации @Value завершается ошибкой с исключением преобразования. Итак, если мой секрет - json с только строкой в качестве полей, я могу их ввести. Например:
{
"a.b":"value"
...
}
с использованием
@Value("${a.b}")
String field;
он работает нормально, но если у меня есть секрет, например
{
"a": {
"b":"value"
}
, я видел, что json успешно проанализирован, но с использованием аннотации
@Value("${a.b}")
String field;
Я не могу получить поле, и если я попробую что-то вроде
@Value("${a}")
Map<String, String> field;
, произойдет сбой из-за проблемы преобразования (невозможно для преобразования из LinkedHashMap в строку). Есть ли способ превратить вложенную структуру в секрет или я должен просто использовать json без вложенных объектов? Большое спасибо!