Gambaran umum fungsi Azure untuk Azure Cache for Redis (pratinjau)
Artikel ini menjelaskan cara menggunakan 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. 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 Cache for 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 Cache for Redis dan Azure Functions untuk membangun fungsi yang bereaksi terhadap peristiwa dari Azure Cache for Redis atau sistem eksternal.
Perbuatan | Arah | Tingkat dukungan |
---|---|---|
Pemicu pada sub pesan pub Redis | Pemicu | Pratinjau |
Pemicu pada daftar Redis | Pemicu | Pratinjau |
Pemicu pada aliran Redis | Pemicu | Pratinjau |
Membaca nilai yang di-cache | Input | Pratinjau |
Menulis nilai ke cache | Output | Pratinjau |
Cakupan ketersediaan untuk pemicu dan pengikatan fungsi
Tingkat | Dasar | Standar, Premium | Enterprise, Enterprise Flash |
---|---|---|---|
Pub/Sub | Ya | Ya | Ya |
Daftar | Ya | Ya | Ya |
Aliran | Ya | Ya | Ya |
Pengikatan | Ya | 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 Panduan untuk menjalankan C# Azure Functions dalam proses pekerja yang terisolasi.
Tambahkan ekstensi ke proyek Anda dengan memasang Paket NuGet ini.
dotnet add package Microsoft.Azure.Functions.Worker.Extensions.Redis --prerelease
Memasang bundel
Membuat proyek fungsi Java. Anda dapat menggunakan Maven:
mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype -DjavaVersion=8
Tambahkan bundel ekstensi dengan menambahkan atau mengganti kode berikut dalam file host.json Anda:
{ "version": "2.0", "extensionBundle": { "id": "Microsoft.Azure.Functions.ExtensionBundle.Preview", "version": "[4.11.*, 5.0.0)" } }
Peringatan
Ekstensi Redis saat ini hanya tersedia dalam rilis bundel pratinjau.
Tambahkan pustaka Java untuk pengikatan Redis ke
pom.xml
file:<dependency> <groupId>com.microsoft.azure.functions</groupId> <artifactId>azure-functions-java-library-redis</artifactId> <version>${azure.functions.java.library.redis.version}</version> </dependency>
Tambahkan bundel ekstensi dengan menambahkan atau mengganti kode berikut dalam file host.json Anda:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle.Preview",
"version": "[4.11.*, 5.0.0)"
}
}
Peringatan
Ekstensi Redis saat ini hanya tersedia dalam rilis bundel pratinjau.
Redis string koneksi
Pemicu dan pengikatan Azure Cache for Redis memiliki properti yang diperlukan untuk cache string koneksi. string koneksi dapat ditemukan di menu Kunci akses di portal Azure Cache for Redis. Pemicu atau pengikatan Redis mencari variabel lingkungan yang memegang string koneksi dengan nama yang diteruskan ke Connection
parameter .
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 tiga jenis koneksi dalam penyebaran Anda: string Koneksi ion, Identitas terkelola yang ditetapkan sistem, dan Identitas terkelola yang ditetapkan pengguna
Untuk pengembangan lokal, Anda juga dapat menggunakan rahasia perwakilan layanan.
appsettings
Gunakan untuk mengonfigurasi masing-masing jenis autentikasi klien berikut, dengan asumsi Connection
diatur ke Redis
dalam fungsi.
String koneksi
"Redis": "<cacheName>.redis.cache.windows.net:6380,password=..."
Identitas terkelola yang ditetapkan sistem
"Redis:redisHostName": "<cacheName>.redis.cache.windows.net",
"Redis:principalId": "<principalId>"
Identitas terkelola yang ditetapkan pengguna
"Redis:redisHostName": "<cacheName>.redis.cache.windows.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
Rahasia Perwakilan Layanan
Koneksi menggunakan Rahasia Perwakilan Layanan hanya tersedia selama pengembangan lokal.
"Redis:redisHostName": "<cacheName>.redis.cache.windows.net",
"Redis:principalId": "<principalId>",
"Redis:clientId": "<clientId>"
"Redis:tenantId": "<tenantId>"
"Redis:clientSecret": "<clientSecret>"