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

标签 java azure spring-boot azure-web-app-service azure-java-sdk

我可以看到我们可以从门户中定义一个安全连接字符串,然后可以在我们的应用程序中访问这些变量。我找到了许多在 ASP.NET 中执行此操作的示例,例如在 web.config 中定义 key 。但我找不到任何专注于从 Spring Boot 应用程序访问通过门户定义的连接字符串的示例。 在这个方向上的任何帮助都会有用

最佳答案

请参阅 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");

关于java - 使用 Spring Boot 时 Azure 中的连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44897827/

相关文章:

java - cypher 中的 FOREACH - neo4j

java - hibernate 。 Query#setParameterList 的模拟

Azure 应用程序网关 DNS 将 307 返回到后端池

c# - 从本地主机 C# Web API - 从 Azure KeyVault 访问 secret 会引发错误 Invalid Issuer

azure - 登录到使用 Cypress 进行 AAD 身份验证的 Azure 托管应用程序时,url 中存在重复的 iframe-request-id

java - 如何在spring boot secuirty中为具有不同请求方法类型的同一url赋予不同的角色权限

java - 如何使用 main 方法访问 Spring Boot 应用程序中 application.properties 文件中的值

java - 有代码重复并使其非常简单/可读更好,还是没有重复(使用泛型)但要复杂得多?

java - 无法将java.util.Date值与MySQL datetime列值进行比较

java - 如何在executeQuery方法中编写sql查询?