Spring Cloud Azure 配置

本文适用于: ✔️版本 4.14.0 ✔️ 版本 5.8.0

本文介绍所有 Spring Cloud Azure 通用配置属性。

每个 Azure 服务 SDK 的配置

大多数 Azure 服务 SDK 可以按传输类型划分为两个类别:基于 HTTP 或基于 AMQP。 所有 SDK(例如身份验证主体和 Azure 环境设置)都有通用的属性,或基于 HTTP 的客户端(例如记录级别用于记录 HTTP 请求和响应)的常见属性。 在 Spring Cloud Azure 4.0 中,我们添加了可为每个 Azure 服务指定的五种常见配置属性类别。

下表列出了多个服务通用的属性:

properties 说明
spring.cloud.azure.azure-service.client 在一个 Azure 服务 SDK 下配置传输客户端。
spring.cloud.azure.azure-service.credential 使用一个 Azure 服务 SDK 的 Microsoft Entra ID 配置身份验证。
spring.cloud.azure.azure-service.profile 为一个 Azure 服务 SDK 配置 Azure 云环境。
spring.cloud.azure.azure-service.proxy 为一个 Azure 服务 SDK 配置代理选项。
spring.cloud.azure.azure-service.retry 配置适用于一个 Azure 服务 SDK 的重试选项。 重试选项支持部分 SDK,没有 spring.cloud.azure.cosmos.retry。

自 Spring Cloud Azure 4.0 以来,配置属性的前缀已统一到 spring.cloud.azure 命名空间,使配置属性更加一致且更直观。 下表提供对支持的 Azure 服务的前缀的快速评审:

Azure 服务 配置属性前缀 配置属性链接
Azure 应用程序配置 spring.cloud.azure.appconfiguration 应用程序配置配置属性
Azure Cosmos DB spring.cloud.azure.cosmos Azure Cosmos DB 配置属性
Azure 事件中心 spring.cloud.azure.eventhubs 事件中心配置属性
Azure 密钥库 证书 spring.cloud.azure.keyvault.certificate 密钥库证书配置属性
Azure 密钥库 机密 spring.cloud.azure.keyvault.secret 密钥库机密配置属性
Azure 服务总线 spring.cloud.azure.servicebus 服务总线配置属性
Azure 存储 Blob spring.cloud.azure.storage.blob 存储 Blob 配置属性
Azure 存储文件共享 spring.cloud.azure.storage.fileshare 存储文件共享配置属性
Azure 存储队列 spring.cloud.azure.storage.queue 存储队列配置属性

Azure 服务 SDK 的全局配置

有一些属性可以在不同的 Azure 服务之间共享,例如,使用相同的服务主体访问 Azure Cosmos DB 和Azure 事件中心。 Spring Cloud Azure 4.0 使你能够定义应用于命名空间 spring.cloud.azure中所有 Azure SDK 的属性。

下表列出了全局属性:

properties 说明
spring.cloud.azure.client 配置传输客户端;默认适用于所有 Azure SDK。
spring.cloud.azure.credential 默认情况下,为所有 Azure SDK 配置使用 Microsoft Entra ID 进行身份验证。
spring.cloud.azure.profile 默认情况下,为所有 Azure SDK 配置 Azure 云环境。
spring.cloud.azure.proxy 默认情况下,配置适用于所有 Azure SDK 客户端的代理选项。
spring.cloud.azure.retry 默认情况下,配置适用于所有 Azure SDK 客户端的重试选项。

注意

在每个 Azure 服务下配置的属性将替代全局配置。

配置示例

Azure 服务 SDK 的全局重试配置

以下示例演示如何为任何基于 HTTP 或 AMQP 协议的 Azure SDK 客户端配置重试行为:

spring.cloud.azure:
  retry:
    mode: exponential
    exponential:
      max-retries: 4
      base-delay: PT0.0801S
      max-delay: PT9S

密钥库 属性源的重试配置

以下配置示例演示如何为 Azure 密钥库 机密客户端配置重试行为:

spring.cloud.azure:
  keyvault:
    secret:
      property-source-enabled: true
      property-sources:
        - endpoint: <your-Azure-Key-Vault-endpoint>
          retry:
            mode: exponential
            exponential:
              max-retries: 4
              base-delay: PT0.0801S
              max-delay: PT9S