Строка подключения в 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");