使用 Spring 引导时 Azure 中的连接字符串
Connection String in Azure while using Spring Boot
我可以看到我们可以定义一个安全的连接字符串表单门户,然后可以在我们的 application.I 中访问这些变量,在 ASP.NET 中找到了很多这样做的例子,比如在web.config。但是我找不到任何专注于从 Spring Boot 应用程序访问通过门户定义的这些连接字符串的示例。
在这方面的任何帮助都是有用的
如果 Azure 将这些安全字符串公开为环境变量,您可以使用以下格式命名它们以覆盖应用程序属性:
属性 名称 my.secret.password
可以用环境变量 MY_SECRET_PASSWORD
覆盖。
您也可以直接在 application.properties
中使用它们
my.secret.password=${SUPER_SECRET_ENV_VARIABLE}
请参阅 Stefan 的这篇文章:How Application Strings and Connection Strings Work in Azure App Service
Azure 应用服务在运行时以环境变量的形式将它们公开给 Web 应用。有一个命名约定,可以更容易地检索它们。
对于应用程序设置,相应环境变量的名称前面加上APPSETTING_
。对于连接字符串,它取决于已配置的数据库类型。见下文
- 对于SQL Azure它是
SQLAZURECONNSTR_
- 对于 SQL 数据库 托管在 Azure VM 上,它是
SQLCONNSTR_
- 对于MySQL数据库它是MYSQLCONNSTR_
- 对于任何其他类型的数据库,它是 CUSTOMCONNSTR_
在Java中,可以使用System.getenv()
函数获取环境变量。请参阅有关如何使用它的文档:public static String getenv(String name)
您可以将环境变量传递给此函数以使其运行。例如
String envStr = System.getenv("APPSETTING_TestSetting");
我可以看到我们可以定义一个安全的连接字符串表单门户,然后可以在我们的 application.I 中访问这些变量,在 ASP.NET 中找到了很多这样做的例子,比如在web.config。但是我找不到任何专注于从 Spring Boot 应用程序访问通过门户定义的这些连接字符串的示例。 在这方面的任何帮助都是有用的
如果 Azure 将这些安全字符串公开为环境变量,您可以使用以下格式命名它们以覆盖应用程序属性:
属性 名称 my.secret.password
可以用环境变量 MY_SECRET_PASSWORD
覆盖。
您也可以直接在 application.properties
my.secret.password=${SUPER_SECRET_ENV_VARIABLE}
请参阅 Stefan 的这篇文章:How Application Strings and Connection Strings Work in Azure App Service
Azure 应用服务在运行时以环境变量的形式将它们公开给 Web 应用。有一个命名约定,可以更容易地检索它们。
对于应用程序设置,相应环境变量的名称前面加上APPSETTING_
。对于连接字符串,它取决于已配置的数据库类型。见下文
- 对于SQL Azure它是
SQLAZURECONNSTR_
- 对于 SQL 数据库 托管在 Azure VM 上,它是
SQLCONNSTR_
- 对于MySQL数据库它是MYSQLCONNSTR_
- 对于任何其他类型的数据库,它是 CUSTOMCONNSTR_
在Java中,可以使用System.getenv()
函数获取环境变量。请参阅有关如何使用它的文档:public static String getenv(String name)
您可以将环境变量传递给此函数以使其运行。例如
String envStr = System.getenv("APPSETTING_TestSetting");