Строка подключения в Azure при использовании Spring Boot

Я вижу, что мы можем определить защищенный портал в форме строки подключения, а затем получить доступ к этим переменным в нашем приложении. Я нашел много примеров для этого в ASP.NET, например, определение ключей в web.config. Но я не могу найти ни одного примера, обращающегося к доступу к этим строкам подключения, определенным через портал, из приложения Spring Boot. Любая помощь в этом направлении будет полезна

2 ответа

Решение

Если Azure предоставляет эти защищенные строки в качестве переменных среды, вы можете присвоить им имена для переопределения свойств приложения в следующем формате:

Имя свойства my.secret.password может быть переопределено переменной среды MY_SECRET_PASSWORD,

Вы также можете использовать их непосредственно в вашем application.properties

my.secret.password=${SUPER_SECRET_ENV_VARIABLE}

См. Эту статью от Стефана: Как работают строки приложения и строки подключения в службе приложений Azure.

Служба приложений Azure предоставляет веб-приложению их в виде переменных среды. Существует соглашение об именах, которое облегчает их поиск.

Для настроек приложения к имени соответствующей переменной среды добавляется APPSETTING_, Для строк подключения это зависит от типа БД, которая была настроена. Увидеть ниже

  • Для SQL Azure это SQLAZURECONNSTR_
  • Для базы данных SQL, размещенной на виртуальной машине Azure, это SQLCONNSTR_
  • Для базы данных MySQL это MYSQLCONNSTR_
  • Для любого другого типа баз данных это CUSTOMCONNSTR_

В Java вы можете использовать System.getenv() функция для извлечения переменных среды. Обратитесь к документу о том, как это использовать: public static String getenv (String name)

Вы можете передать переменную окружения в эту функцию, чтобы она заработала. Например

String envStr = System.getenv("APPSETTING_TestSetting");
Другие вопросы по тегам