2017-07-04 43 views
1

我可以看到我们可以定义一个安全的连接字符串表单门户,并且可以在我们的应用程序中访问这些变量。我发现很多示例在ASP.NET中执行它,在web.config中输入密钥。但我找不到任何示例着重于访问从Spring Boot应用程序通过门户定义的这些连接字符串。 在这个方向的任何帮助将是非常有用使用Spring Boot时Azure中的连接字符串

+1

嗨艾米特,看看这里https://buildazure.com/2015/11/30/azure-web-app-application-settings/和这里https://buildazure.com/2015/12/01/azure-web-app-connection-strings /。由于Spring Boot是Java风格的应用程序,因此您可以在Java部分下找到示例。希望这可以帮助。 – techmike2kx

+0

非常感谢。我只是在寻找这样的东西 –

回答

0

如果Azure的公开这些安全串作为环境变量,你能说出他们使用以下格式重写应用程序属性:

属性名my.secret.password可以用环境变量MY_SECRET_PASSWORD被重写。

你也可以在你的application.properties

my.secret.password=${SUPER_SECRET_ENV_VARIABLE} 
2

直接使用它们,请参阅本文从斯特凡How Application Strings and Connection Strings Work in Azure App Service

Azure的应用服务将它们暴露在环境变量的形式在运行时的Web应用程序。有一个命名约定,可以更容易地检索它们。

对于相应的环境变量的名称被换成了APPSETTING_应用设置。对于连接字符串,它取决于已配置的数据库类型。见下面

  • 对于SQL Azure的SQLAZURECONNSTR_
  • 对于托管在Azure的VMSQL数据库SQLCONNSTR_
  • 对于MySQL数据库MYSQLCONNSTR_
  • 对于任何其他类型的数据库,它是CUSTOMCONNSTR_

在Java中,你可以使用System.getenv()函数来获取环境变量。请参考如何使用此文档:public static String getenv(String name)

您可以将环境变量传递给此函数以使其工作。例如

String envStr = System.getenv("APPSETTING_TestSetting");