Delen via


Ondersteuning voor Spring Cloud Azure Redis

Dit artikel is van toepassing op:✅ versie 4.19.0 ✅ versie 5.19.0

In dit artikel wordt beschreven hoe u Spring Cloud Azure en Spring Data Redis samen kunt gebruiken en verschillende typen referenties kunt opgeven voor verificatie bij Azure Cache voor Redis.

Azure Cache voor Redis biedt een gegevensarchief in het geheugen op basis van de Redis-software. Redis verbetert de prestaties en schaalbaarheid van een toepassing die intensief gebruikmaakt van back-endgegevensarchieven.

Ondersteunde Redis-versies

Zie Huidige versiesvoor ondersteunde versies.

Kernfuncties

Verbinding zonder wachtwoord

Verbinding zonder wachtwoord maakt gebruik van Microsoft Entra-verificatie voor het maken van verbinding met Azure-services zonder referenties op te slaan in de toepassing, de configuratiebestanden of in omgevingsvariabelen. Microsoft Entra-verificatie is een mechanisme voor het maken van verbinding met Azure Cache voor Redis met behulp van identiteiten die zijn gedefinieerd in Microsoft Entra-id. Met Microsoft Entra-verificatie kunt u cache-identiteiten en andere Microsoft-services beheren op een centrale locatie, wat het beheer van machtigingen vereenvoudigt.

Hoe het werkt

Spring Cloud Azure bouwt eerst een van de volgende typen referenties, afhankelijk van de configuratie van de toepassingsverificatie:

  • ClientSecretCredential
  • ClientCertificateCredential
  • UsernamePasswordCredential
  • ManagedIdentityCredential

Als geen van deze typen referenties wordt gevonden, wordt de referentieketen via DefaultTokenCredential gebruikt om referenties te verkrijgen van toepassingseigenschappen, omgevingsvariabelen, beheerde identiteit of IDE's. Zie Spring Cloud Azure-verificatievoor meer informatie.

Configuratie

Configureerbare eigenschappen bij het gebruik van Redis-ondersteuning:

Eigenschap Beschrijving Standaardwaarde Vereist
spring.cloud.azure.redis.enabled Of een Azure Cache voor Redis is ingeschakeld. waar Nee
spring.cloud.azure.redis.name Azure Cache voor Redis-exemplaarnaam. Ja
spring.cloud.azure.redis.resource.resource-group De resourcegroep van Azure Cache voor Redis. Ja
spring.cloud.azure.profile.subscription-id De abonnements-id. Ja
spring.data.redis.azure.passwordless enabled Of u wachtwoordloos wilt inschakelen voor Azure Cache voor Redis. vals Nee

Basisgebruik

In de volgende secties ziet u de klassieke gebruiksscenario's voor Spring Boot-toepassingen.

Verbinding maken met Azure Cache voor Redis met een wachtwoordloos

  1. Voeg de volgende afhankelijkheid toe aan uw project. Dit omvat automatisch de spring-boot-starter afhankelijkheid in uw project transitief.

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

    Notitie

    Verbindingen zonder wachtwoord worden ondersteund sinds versie 5.19.0.

    Vergeet niet om de BOM-spring-cloud-azure-dependencies samen met de bovenstaande afhankelijkheid toe te voegen. Zie de sectie Aan de slag aan de slag van de Spring Cloud Azure-ontwikkelaarshandleidingvoor meer informatie.

  2. Configureer de volgende eigenschappen in uw application.yml-bestand:

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

    Belangrijk

    Verbinding zonder wachtwoord maakt gebruik van Microsoft Entra-verificatie. Als u Microsoft Entra-verificatie wilt gebruiken, moet u Microsoft Entra-verificatie inschakelen en user(managed identity/service principal) selecteren om Data Owner Access Policytoe te wijzen.

    Zie voor meer informatie en om de waarde voor usernameop te halen de Microsoft Entra ID-verificatie inschakelen in uw cache sectie van Microsoft Entra-id gebruiken voor cacheverificatie.

Verbinding maken met Azure Cache voor Redis met beheerde identiteit

  1. Als u de beheerde identiteit wilt gebruiken, moet u de beheerde identiteit voor uw service inschakelen en Microsoft Entra-verificatie inschakelen op uw cache-.

  2. Voeg vervolgens de volgende eigenschappen toe aan uw application.yml-bestand:

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

    Belangrijk

    De redis.username moet worden gewijzigd in de id van het beheerde identiteitsobject (principal).

    Als u een door de gebruiker toegewezen beheerde identiteit gebruikt, moet u ook de eigenschap toevoegen spring.cloud.azure.credential.client-id met de door de gebruiker toegewezen client-id van de beheerde identiteit.

Verbinding maken met Azure Cache voor Redis via Azure Resource Manager

Gebruik de volgende stappen om verbinding te maken met Azure Cache voor Redis:

  1. Voeg de volgende afhankelijkheid toe aan uw project. Dit omvat automatisch de spring-boot-starter afhankelijkheid in uw project transitief.

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

    Notitie

    Vergeet niet om de BOM-spring-cloud-azure-dependencies samen met de bovenstaande afhankelijkheid toe te voegen. Zie de sectie Aan de slag aan de slag van de Spring Cloud Azure-ontwikkelaarshandleidingvoor meer informatie.

  1. Configureer de volgende eigenschappen in uw application.yml-bestand:

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

Monsters

Zie de azure-spring-boot-samples opslagplaats op GitHub.