我可以看到我们可以定义一个安全的连接字符串表单门户,并且可以在我们的应用程序中访问这些变量。我在 ASP.NET 中找到了很多示例,例如在 web.config 中定义键。但是我找不到任何专注于从 Spring Boot 应用程序访问通过门户定义的连接字符串的示例。在这个方向上的任何帮助都会很有用
问问题
2403 次
2 回答
2
请参阅Stefan的这篇文章:Azure App Service 中的应用程序字符串和连接字符串如何工作
Azure 应用服务在运行时以环境变量的形式向 Web 应用公开它们。有一个命名约定,可以更容易地检索它们。
对于应用程序设置,相应环境变量的名称前面带有APPSETTING_
. 对于连接字符串,它取决于已配置的 DB 类型。见下文
- 对于SQL Azure它是
SQLAZURECONNSTR_
- 对于托管在Azure VM上的SQL 数据库,它是
SQLCONNSTR_
- 对于MySQL 数据库,它是MYSQLCONNSTR_
- 对于任何其他类型的数据库,它是CUSTOMCONNSTR_
在 Java 中,您可以使用该System.getenv()
函数来检索环境变量。请参阅有关如何使用它的文档:public static String getenv(String name)
您可以将环境变量传递给此函数以使其正常工作。例如
String envStr = System.getenv("APPSETTING_TestSetting");
于 2017-07-04T08:51:54.097 回答
1
如果 Azure 将这些安全字符串公开为环境变量,则可以使用以下格式命名它们以覆盖应用程序属性:
属性名称my.secret.password
可以用环境变量覆盖MY_SECRET_PASSWORD
。
你也可以直接在你的application.properties
my.secret.password=${SUPER_SECRET_ENV_VARIABLE}
于 2017-07-04T06:49:42.543 回答