Sdílet prostřednictvím


Podpora Spring Cloud Azure Redis

Tento článek se vztahuje na:✅ verze 4.19.0 ✅ verze 5.19.0

Tento článek popisuje, jak můžete používat Spring Cloud Azure a Spring Data Redis společně a poskytovat různé typy přihlašovacích údajů pro ověřování do Azure Cache for Redis.

Azure Cache for Redis poskytuje úložiště dat v paměti založené na softwaru Redis. Redis zlepšuje výkon a škálovatelnost aplikace, která využívá back-endová úložiště dat.

Podporované verze Redis

Podporované verze najdete v tématu Aktuální verze.

Základní funkce

Připojení bez hesla

Připojení bez hesla používá ověřování Microsoft Entra pro připojení ke službám Azure bez uložení přihlašovacích údajů v aplikaci, konfiguračních souborech nebo v proměnných prostředí. Ověřování Microsoft Entra je mechanismus pro připojení ke službě Azure Cache for Redis pomocí identit definovaných v MICROSOFT Entra ID. Pomocí ověřování Microsoft Entra můžete spravovat identity mezipaměti a další služby Microsoftu v centrálním umístění, což zjednodušuje správu oprávnění.

Jak to funguje

Spring Cloud Azure nejprve sestaví jeden z následujících typů přihlašovacích údajů v závislosti na konfiguraci ověřování aplikací:

  • ClientSecretCredential
  • ClientCertificateCredential
  • UsernamePasswordCredential
  • ManagedIdentityCredential

Pokud se nenajde žádný z těchto typů přihlašovacích údajů, použije se řetěz přihlašovacích údajů prostřednictvím DefaultTokenCredential k získání přihlašovacích údajů z vlastností aplikace, proměnných prostředí, spravované identity nebo idEs. Další informace najdete v tématu ověřování Spring Cloud Azure.

Konfigurace

Konfigurovatelné vlastnosti při použití podpory Redis:

Vlastnost Popis Výchozí hodnota Požadovaný
spring.cloud.azure.redis.enabled Jestli je povolená služba Azure Cache for Redis. pravdivý Ne
spring.cloud.azure.redis.name Název instance Azure Cache for Redis Ano
spring.cloud.azure.redis.resource.resource-group Skupina prostředků Azure Cache for Redis. Ano
spring.cloud.azure.profile.subscription-id ID předplatného. Ano
spring.data.redis.azurebez hesla Určuje, jestli se má pro Azure Cache for Redis povolit bez hesla. falešný Ne

Základní využití

Následující části ukazují klasické scénáře použití aplikace Spring Boot.

Připojení ke službě Azure Cache for Redis bez hesla

  1. Přidejte do projektu následující závislost. To automaticky zahrnuje spring-boot-starter závislost v projektu tranzitivně.

    <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>
    

    Poznámka

    Připojení bez hesla byla podporována od verze 5.19.0.

    Nezapomeňte přidat spring-cloud-azure-dependencies kusovníku spolu s výše uvedenou závislostí. Další informace najdete v části Začínáme příručky pro vývojáře Spring Cloud v Azure.

  2. V souboru application.yml nakonfigurujte následující vlastnosti:

    spring:
      data:
        redis:
          host: ${AZURE_CACHE_REDIS_HOST}
          username: ${AZURE_CACHE_REDIS_USERNAME}
          port: 6380
          ssl:
            enabled: true
          azure:
            passwordless-enabled: true
    

    Důležitý

    Připojení bez hesla používá ověřování Microsoft Entra. Pokud chcete použít ověřování Microsoft Entra, měli byste povolit ověřování Microsoft Entra a vybrat user(managed identity/service principal) přiřadit Data Owner Access Policy.

    Další informace a získání hodnoty pro usernamenaleznete v části Povolení ověřování Microsoft Entra ID v mezipaměti části Použití Microsoft Entra ID pro ověřování mezipaměti.

Připojení ke službě Azure Cache for Redis pomocí spravované identity

  1. Pokud chcete používat spravovanou identitu, musíte pro službu povolit spravovanou identitu a povolit ověřování Microsoft Entra v mezipaměti.

  2. Potom do souboru application.yml přidejte následující vlastnosti:

    spring:
      cloud:
        azure:
          credential:
            managed-identity-enabled: true
    

    Důležitý

    redis.username by se měl změnit na ID objektu spravované identity (objektu zabezpečení).

    Pokud používáte spravovanou identitu přiřazenou uživatelem, musíte také přidat vlastnost spring.cloud.azure.credential.client-id s ID klienta spravované identity přiřazené uživatelem.

Připojení ke službě Azure Cache for Redis přes Azure Resource Manager

Pomocí následujících kroků se připojte ke službě Azure Cache for Redis:

  1. Přidejte do projektu následující závislost. To automaticky zahrnuje spring-boot-starter závislost v projektu tranzitivně.

    <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>
    

    Poznámka

    Nezapomeňte přidat spring-cloud-azure-dependencies kusovníku spolu s výše uvedenou závislostí. Další informace najdete v části Začínáme příručky pro vývojáře Spring Cloud v Azure.

  1. V souboru application.yml nakonfigurujte následující vlastnosti:

    spring:
      cloud:
        azure:
          profile:
            subscription-id: ${AZURE_SUBSCRIPTION_ID}
          redis:
            name: ${AZURE_CACHE_REDIS_NAME}
            resource:
              resource-group: ${AZURE_RESOURCE_GROUP}
    

Vzorky