Gambaran umum fungsi Azure untuk Azure Redis

Artikel ini menjelaskan cara menggunakan Azure Managed Redis atau Azure Cache for Redis dengan Azure Functions untuk membuat arsitektur tanpa server dan berbasis peristiwa yang dioptimalkan.

Azure Functions menyediakan model pemrograman berbasis peristiwa di mana pemicu dan pengikatan adalah fitur utama. Dengan Azure Functions, Anda dapat dengan mudah membangun aplikasi tanpa server berbasis peristiwa. layanan Azure Redis (Azure Managed Redis dan Azure Cache for Redis) menyediakan serangkaian blok penyusun dan praktik terbaik untuk membangun aplikasi terdistribusi, termasuk layanan mikro, manajemen status, pub/sub olahpesan, dan banyak lagi.

Azure Redis dapat digunakan sebagai pemicu untuk Azure Functions, memungkinkan Anda memulai alur kerja tanpa server. Fungsionalitas ini bisa sangat berguna dalam arsitektur data seperti cache tulis di belakang, atau arsitektur berbasis peristiwa apa pun.

Anda dapat mengintegrasikan Azure Redis dan Azure Functions untuk membangun fungsi yang bereaksi terhadap peristiwa dari Azure Redis atau sistem eksternal.

Perbuatan Arah
Pemicu pada sub pesan pub Redis Pemicu
Pemicu pada daftar Redis Pemicu
Pemicu pada aliran Redis Pemicu
Membaca nilai yang di-cache Input
Menulis nilai ke cache Output

Cakupan ketersediaan untuk pemicu dan pengikatan fungsi

Tingkat Azure Cache for Redis (Dasar, Standar, Premium, Enterprise, Enterprise Flash) Azure Managed Redis (Memori Dioptimalkan, Dasar, Komputasi Dioptimalkan, Flash Dioptimalkan)
Pub/Sub Ya Ya
Daftar Ya Ya
Aliran Ya Ya
Pengikatan Ya Ya

Penting

Pemicu Redis saat ini hanya didukung untuk fungsi yang berjalan dalam paket Elastic Premium atau paket App Service khusus.

Menginstal ekstensi

Fungsi berjalan dalam proses pekerja C# terisolasi. Untuk mempelajari selengkapnya, lihat Guide untuk menjalankan Azure Functions C# dalam proses pekerja yang terisolasi.

Tambahkan ekstensi ke proyek Anda dengan menginstal paket NuGet this.

dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Redis

Memasang bundel

Agar dapat menggunakan ekstensi pengikatan ini di aplikasi Anda, pastikan file host.json di akar proyek Anda berisi referensi ini extensionBundle :

{
    "version": "2.0",
    "extensionBundle": {
        "id": "Microsoft.Azure.Functions.ExtensionBundle",
        "version": "[4.0.0, 5.0.0)"
    }
}

Dalam contoh ini, version nilai [4.0.0, 5.0.0) menginstruksikan host Functions untuk menggunakan versi bundel yang setidaknya 4.0.0 tetapi kurang dari 5.0.0, yang mencakup semua versi potensial 4.x. Notasi ini secara efektif mempertahankan aplikasi Anda pada versi minor terbaru yang tersedia dari bundel ekstensi v4.x.

Jika memungkinkan, Anda harus menggunakan versi utama bundel ekstensi terbaru dan memungkinkan runtime untuk secara otomatis mempertahankan versi minor terbaru. Anda dapat melihat konten bundel terbaru pada halaman rilis bundel extension. Untuk informasi selengkapnya, lihat bundel ekstensi Azure Functions.

Memperbarui paket

Tambahkan paket Anotasi Azure Functions Java Redis ke proyek Anda dengan memperbarui file />

<dependency>
  <groupId>com.microsoft.azure.functions</groupId>
  <artifactId>azure-functions-java-library-redis</artifactId>
  <version>1.0.0</version>
</dependency>

Redis connection string

Azure pemicu dan pengikatan Redis memiliki properti yang diperlukan yang menunjukkan pengaturan aplikasi atau nama koleksi yang berisi informasi koneksi cache. Pemicu atau pengikatan Redis mencari variabel lingkungan yang memegang connection string dengan nama yang diteruskan ke parameter Connection.

Dalam pengembangan lokal, Connection dapat didefinisikan menggunakan file local.settings.json . Saat disebarkan ke Azure, pengaturan aplikasi dapat digunakan.

Saat menyambungkan ke instans cache dengan fungsi Azure, Anda dapat menggunakan salah satu jenis koneksi ini dalam penyebaran Anda:

Identitas terkelola yang ditetapkan pengguna harus dikaitkan dengan aplikasi fungsi Anda, dan identitas tersebut juga harus diberikan izin eksplisit di layanan cache Anda. Untuk informasi selengkapnya, lihat Gunakan Microsoft Entra ID untuk autentikasi cache.

Contoh-contoh ini menunjukkan nama kunci dan nilai pengaturan aplikasi yang diperlukan untuk terhubung ke setiap layanan cache berdasarkan jenis autentikasi klien, dengan asumsi bahwa Connection properti dalam pengikatan diatur ke Redis.

"Redis__redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis__principalId": "<principalId>",
"Redis__clientId": "<clientId>"