Spring Cloud Azure 配置
本文 适用于:✅ 版本 4.19.0 ✅ 版本 5.19.0
本文介绍所有 Spring Cloud Azure 通用配置属性。
每个 Azure 服务 SDK 的配置
大多数 Azure 服务 SDK 可以按传输类型划分为两个类别:基于 HTTP 或基于 AMQP。 所有 SDK(例如身份验证主体和 Azure 环境设置)都有通用的属性,或基于 HTTP 的客户端(例如记录级别用于记录 HTTP 请求和响应)的常见属性。 在 Spring Cloud Azure 4.0 中,我们添加了可为每个 Azure 服务指定的五种常见配置属性类别。
下表列出了多个服务通用的属性:
财产 | 描述 |
---|---|
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 Key Vault 证书 | spring.cloud.azure.keyvault.certificate | |
Azure Key Vault 机密 | spring.cloud.azure.keyvault.secret | Key Vault 机密配置属性 |
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 使你能够定义应用于命名空间中所有 Azure SDK 的属性 spring.cloud.azure
。
下表列出了全局属性:
财产 | 描述 |
---|---|
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
Key Vault 属性源的重试配置
以下配置示例演示如何为 Azure Key Vault 机密客户端配置重试行为:
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