使用Spring Boot时Azure中的连接字符串

时间:2017-07-04 05:48:01

标签: java azure spring-boot azure-web-sites azure-java-sdk

我可以看到我们可以定义一个安全的连接字符串表单门户,而不是可以在我们的应用程序中访问这些变量。我在ASP.NET中找到了很多例子,比如在web.config中定义键。但我找不到任何关注访问通过Spring Boot应用程序门户定义的连接字符串的示例。 这方面的任何帮助都是有用的

2 个答案:

答案 0 :(得分:2)

请参阅 Stefan How Application Strings and Connection Strings Work in 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");

答案 1 :(得分:1)

如果Azure将这些安全字符串公开为环境变量,您可以使用以下格式命名它们以覆盖应用程序属性:

可以使用环境变量Cells覆盖属性名称my.secret.password

您也可以直接在MY_SECRET_PASSWORD

中使用它们
application.properties