Синхронизация параметров AWS SSM и приложения Spring Boot 3JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Синхронизация параметров AWS SSM и приложения Spring Boot 3

Сообщение Anonymous »

У меня есть приложение Java 17/Spring Boot 3/Gradle. Я развертываю его на экземплярах AWS ECS Fargate, и мне нужно использовать параметры SSM, но я не могу их правильно внедрить (см. ошибку ниже). Я пробовал искать решения, но пока мне ничего не помогло. Я считаю, что что-то не так с моими конфигурациями, но я не уверен, что именно.
Не могли бы вы посоветовать решение?
Вот мой application.yml (вероятно, слишком много настроек, но я пробовал разные подходы шаг за шагом):

Код: Выделить всё

spring:
application:
name: my_app_name
cloud:
aws:
parameterstore:
enabled: true
prefix: ""
config:
import: "optional:aws-parameterstore:"

groupname:
init: ${ssm:/my_app_name/groupname/init}
session: ${ssm:/my_app_name/groupname/session}
checkInterval: ${ssm:/my_app_name/groupname/checkInterval}
Класс Java:

Код: Выделить всё

@Component
@ConfigurationProperties(prefix = "groupname")
public class SomeProperties {
private String init;
private String session;
private long checkInterval;

//getters and setters
build.gradle зависимости:

Код: Выделить всё

dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'org.json:json:20231013'
implementation 'org.projectlombok:lombok:1.18.28'
implementation 'io.awspring.cloud:spring-cloud-starter-aws-parameter-store-config:2.4.4'
annotationProcessor 'org.projectlombok:lombok:1.18.28'
annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"

testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
Параметры SSM, которые у меня есть в AWS Systems Manager/Хранилище параметров/Мои параметры:
/my_app_name /groupname/init
/my_app_name/groupname/session
/my_app_name/groupname /checkInterval
Разрешения роли задачи:

Код: Выделить всё

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ssm:GetParameter",
"ssm:GetParameters",
"ssm:GetParameters",
"ssm:GetParametersByPath",
"kms:Decrypt",
"ssm:GetParameterHistory"
],
"Resource": "arn:aws:ssm::**:parameter/my_app_name/groupname/*"
}
]
}
Когда я запускаю приложение, я вижу следующую ошибку в журналах:

Код: Выделить всё

***************************
APPLICATION FAILED TO START
***************************
Description:
Failed to bind properties under 'groupname.check-interval' to long:
Property: groupname.check-interval
Value: "${ssm:/my_app_name/groupname/checkInterval}"
Origin: class path resource [application.yml] from app.jar - 15:18
Reason: failed to convert java.lang.String to long (caused by java.lang.NumberFormatException: For input string: "/my_app_name/groupname/checkInterval")
Action:
Update your application's configuration
Насколько я понимаю, основная причина заключается в том, что Spring интерпретирует значение параметра как значение из файла application.yml, преобразуя его в строку, но не преобразуя его в фактический параметр SSM. значение.

Подробнее здесь: https://stackoverflow.com/questions/793 ... pplication
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Синхронизация параметров AWS SSM и приложения Spring Boot 3
    Anonymous » » в форуме JAVA
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Как правильно/безопасно получить доступ к параметрам из хранилища параметров AWS SSM для моего скрипта Python в экземпля
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Можем ли мы присвоить значения параметров ssm допустимым значениям в Swagger
    Anonymous » » в форуме JAVA
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • В программе C# отсутствует ссылка на SSM из AWS SDK
    Anonymous » » в форуме C#
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • AWS – использование SSM для отправки команд терминала
    Anonymous » » в форуме Linux
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»