Поддержка Spring Cloud Для Redis
эта статья относится к:✅ версии 4.19.0 ✅ версии 5.20.1
В этой статье описывается, как использовать Azure Spring Cloud и Spring Data Redis вместе и предоставлять различные типы учетных данных для проверки подлинности в кэше Azure для Redis.
кэш Azure для Redis предоставляет хранилище данных в памяти на основе программного обеспечения Redis. Redis значительно повышает производительность и масштабируемость приложения, использующего внутренние хранилища данных.
Поддерживаемые версии Redis
Поддерживаемые версии см. в текущих версий.
Основные функции
Подключение без пароля
Подключение без пароля использует проверку подлинности Microsoft Entra для подключения к службам Azure без хранения учетных данных в приложении, его файлах конфигурации или переменных среды. Проверка подлинности Microsoft Entra — это механизм подключения к кэшу Azure для Redis с помощью удостоверений, определенных в идентификаторе Microsoft Entra. С помощью проверки подлинности Microsoft Entra можно управлять удостоверениями кэша и другими службами Майкрософт в центральном расположении, что упрощает управление разрешениями.
Принцип работы
Spring Cloud Azure сначала создает один из следующих типов учетных данных в зависимости от конфигурации проверки подлинности приложения:
ClientSecretCredential
ClientCertificateCredential
UsernamePasswordCredential
ManagedIdentityCredential
Если ни один из этих типов учетных данных не найден, цепочка учетных данных через DefaultTokenCredential
используется для получения учетных данных из свойств приложения, переменных среды, управляемых удостоверений или удостоверений. Дополнительные сведения см. в аутентификации Spring Cloud Azure.
Конфигурация
Настраиваемые свойства при поддержке Redis:
Свойство | Описание | Значение по умолчанию | Обязательно |
---|---|---|---|
spring.cloud.azure.redis.enabled | Включен ли кэш Azure для Redis. | истинный | Нет |
spring.cloud.azure.redis.name | Имя экземпляра кэша Azure для Redis. | Да | |
spring.cloud.azure.redis.resource.resource-group | Группа ресурсов кэша Azure для Redis. | Да | |
spring.cloud.azure.profile.subscription-id | Идентификатор подписки. | Да | |
spring.data.redis.azure.passwordless | Включение без пароля для кэша Azure для Redis. | ложный | Нет |
Базовое использование
В следующих разделах показаны классические сценарии использования приложений Spring Boot.
Подключение к кэшу Azure для Redis с помощью без пароля
Добавьте в проект следующую зависимость. Это автоматически включает
spring-boot-starter
зависимость в проекте транзитивно.<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-starter-data-redis-lettuce</artifactId> </dependency>
Заметка
С версии
5.20.1
поддерживаются бессерверные подключения.Не забудьте добавить
spring-cloud-azure-dependencies
BOM вместе с приведенной выше зависимостью. Дополнительные сведения см. в разделеНачало работы руководства разработчикаSpring Cloud Azure. Настройте следующие свойства в файле application.yml:
spring: data: redis: host: ${AZURE_CACHE_REDIS_HOST} username: ${AZURE_CACHE_REDIS_USERNAME} port: 6380 ssl: enabled: true azure: passwordless-enabled: true
Важный
Подключение без пароля использует проверку подлинности Microsoft Entra. Чтобы использовать проверку подлинности Microsoft Entra, необходимо включить проверку подлинности Microsoft Entra и выбрать
user(managed identity/service principal)
, чтобы назначитьData Owner Access Policy
.Дополнительные сведения и получение значения
username
см. в разделе Включение проверки подлинности идентификатора Microsoft Entra в разделе кэша использование идентификатора Microsoft Entra для проверки подлинности кэша.
Подключение к кэшу Azure для Redis с помощью управляемого удостоверения
Чтобы использовать управляемое удостоверение, необходимо включить управляемое удостоверение для службы и включить проверку подлинности Microsoft Entra вкэша.
Затем добавьте следующие свойства в файл application.yml:
spring: cloud: azure: credential: managed-identity-enabled: true
Важный
redis.username
должен измениться на идентификатор объекта управляемого удостоверения (субъекта).Если вы используете управляемое удостоверение, назначаемое пользователем, необходимо также добавить свойство
spring.cloud.azure.credential.client-id
с идентификатором клиента управляемого удостоверения, назначаемого пользователем.
Подключение к кэшу Azure для Redis с помощью Azure Resource Manager
Чтобы подключиться к кэшу Azure для Redis, выполните следующие действия.
Добавьте в проект следующую зависимость. Это автоматически включает
spring-boot-starter
зависимость в проекте транзитивно.<dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-starter-data-redis-lettuce</artifactId> </dependency> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-cloud-azure-resourcemanager</artifactId> </dependency> <dependency> <groupId>com.azure.spring</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>
Заметка
Не забудьте добавить
spring-cloud-azure-dependencies
BOM вместе с приведенной выше зависимостью. Дополнительные сведения см. в разделеНачало работы руководства разработчикаSpring Cloud Azure.
Настройте следующие свойства в файле application.yml:
spring: cloud: azure: profile: subscription-id: ${AZURE_SUBSCRIPTION_ID} redis: name: ${AZURE_CACHE_REDIS_NAME} resource: resource-group: ${AZURE_RESOURCE_GROUP}
Образцы
См. репозиторий azure-spring-boot-samples на сайте GitHub.