Bagikan melalui


Dukungan Spring Cloud Azure Redis

Artikel ini menjelaskan bagaimana Anda dapat menggunakan Spring Cloud Azure dan Spring Data Redis bersama-sama dan menyediakan berbagai jenis kredensial untuk autentikasi ke Azure Cache for Redis.

Azure Cache for Redis menyediakan penyimpanan data dalam memori berdasarkan perangkat lunak Redis. Redis meningkatkan performa dan skalabilitas aplikasi yang sangat menggunakan penyimpanan data backend.

Versi Redis yang didukung

Untuk versi yang didukung, lihat Versi saat ini.

Fitur inti

Koneksi tanpa kata sandi

Koneksi tanpa kata sandi menggunakan autentikasi Microsoft Entra untuk menyambungkan ke layanan Azure tanpa menyimpan kredensial apa pun dalam aplikasi, file konfigurasinya, atau dalam variabel lingkungan. Autentikasi Microsoft Entra adalah mekanisme untuk menyambungkan ke Azure Cache for Redis menggunakan identitas yang ditentukan dalam ID Microsoft Entra. Dengan autentikasi Microsoft Entra, Anda dapat mengelola identitas cache dan layanan Microsoft lainnya di lokasi pusat, yang menyederhanakan manajemen izin.

Cara kerjanya

Spring Cloud Azure pertama-tama membangun salah satu jenis kredensial berikut tergantung pada konfigurasi autentikasi aplikasi:

  • ClientSecretCredential
  • ClientCertificateCredential
  • UsernamePasswordCredential
  • ManagedIdentityCredential

Jika tidak ada jenis kredensial ini yang ditemukan, rantai kredensial melalui DefaultTokenCredential digunakan untuk mendapatkan kredensial dari properti aplikasi, variabel lingkungan, identitas terkelola, atau IDEs. Untuk informasi selengkapnya, lihat autentikasi Spring Cloud Azure.

Konfigurasi

Properti yang dapat dikonfigurasi saat menggunakan dukungan Redis:

Harta benda Deskripsi Nilai Default Diperlukan
spring.cloud.azure.redis.enabled Apakah Azure Cache for Redis diaktifkan. benar Tidak
musim semi.cloud.azure.redis.name Nama instans Azure Cache for Redis. Ya
spring.cloud.azure.redis.resource.resource-group Grup sumber daya Azure Cache for Redis. Ya
spring.cloud.azure.profile.subscription-id ID langganan. Ya
spring.data.redis.azure.passwordless-enabled Apakah akan mengaktifkan tanpa kata sandi untuk Azure Cache for Redis. palsu Tidak

Penggunaan dasar

Bagian berikut menunjukkan skenario penggunaan aplikasi Spring Boot klasik.

Menyambungkan ke Azure Cache for Redis dengan tanpa kata sandi

  1. Tambahkan dependensi berikut ke proyek Anda. Konfigurasi ini secara otomatis menyertakan spring-boot-starter dependensi dalam proyek Anda secara transitif.

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

    Nota

    Ingatlah untuk menambahkan spring-cloud-azure-dependencies BOM bersama dengan dependensi ini. Untuk informasi selengkapnya, lihat bagian Memulai panduan pengembang Spring Cloud Azure.

  2. Konfigurasikan properti berikut dalam file application.yml Anda:

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

    Penting

    Koneksi tanpa kata sandi menggunakan autentikasi Microsoft Entra. Untuk menggunakan autentikasi Microsoft Entra, Anda harus mengaktifkan Autentikasi Microsoft Entra dan memilih user(managed identity/service principal) untuk menetapkan Data Owner Access Policy.

    Untuk informasi selengkapnya dan untuk mendapatkan nilai untuk username, lihat Mengaktifkan autentikasi ID Microsoft Entra di bagian cache Anda di Gunakan ID Microsoft Entra untuk autentikasi cache.

Menyambungkan ke Azure Cache for Redis dengan identitas terkelola

  1. Untuk menggunakan identitas terkelola, Anda perlu mengaktifkan identitas terkelola untuk layanan Anda dan mengaktifkan autentikasi Microsoft Entra di cache Anda.

  2. Kemudian, tambahkan properti berikut di file application.yml Anda:

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

    Penting

    redis.username harus berubah menjadi ID objek identitas terkelola (utama).

    Jika Anda menggunakan identitas terkelola yang ditetapkan pengguna, Anda juga perlu menambahkan properti spring.cloud.azure.credential.client-id dengan ID klien identitas terkelola yang ditetapkan pengguna.

Menyambungkan ke Azure Cache for Redis melalui Azure Resource Manager

Gunakan langkah-langkah berikut untuk menyambungkan ke Azure Cache for Redis:

  1. Tambahkan dependensi berikut ke proyek Anda. Konfigurasi ini secara otomatis menyertakan spring-boot-starter dependensi dalam proyek Anda secara transitif.

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

    Nota

    Ingatlah untuk menambahkan spring-cloud-azure-dependencies BOM bersama dengan dependensi ini. Untuk informasi selengkapnya, lihat bagian Memulai panduan pengembang Spring Cloud Azure.

  1. Konfigurasikan properti berikut dalam file application.yml Anda:

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

Sampel

Lihat repositori azure-spring-boot-samples di GitHub.