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 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
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 Redis memiliki properti yang diperlukan yang menunjukkan pengaturan aplikasi atau nama koleksi yang berisi informasi koneksi cache. string koneksi dapat ditemukan di menu Kunci akses di portal Azure Managed Redis atau 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, Identitas terkelola yang ditetapkan sistem, dan Identitas terkelola yang ditetapkan pengguna.
Untuk pengembangan lokal, Anda juga dapat menggunakan rahasia perwakilan layanan.
Penting
Untuk keamanan yang optimal, aplikasi fungsi Anda harus menggunakan ID Microsoft Entra dengan identitas terkelola untuk mengotorisasi permintaan terhadap cache Anda, jika memungkinkan. Otorisasi dengan menggunakan ID Microsoft Entra dan identitas terkelola memberikan keamanan yang unggul dan kemudahan penggunaan melalui otorisasi kunci akses bersama. Untuk informasi selengkapnya tentang menggunakan identitas terkelola dengan cache Anda, lihat Menggunakan ID Microsoft Entra untuk autentikasi cache.
appsettings
Gunakan untuk mengonfigurasi masing-masing jenis autentikasi klien berikut, dengan asumsi Connection
diatur ke Redis
dalam fungsi.
String koneksi
"Redis": "<cacheName>.<region>.redis.azure.net:10000,password=..."
Identitas terkelola yang ditetapkan sistem
"Redis__redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis__principalId": "<principalId>"
Identitas terkelola yang ditetapkan pengguna
"Redis__redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis__principalId": "<principalId>",
"Redis__clientId": "<clientId>"
Rahasia Perwakilan Layanan
Koneksi yang menggunakan Rahasia Perwakilan Layanan hanya tersedia selama pengembangan lokal.
"Redis__redisHostName": "<cacheName>.<region>.redis.azure.net",
"Redis__principalId": "<principalId>",
"Redis__clientId": "<clientId>"
"Redis__tenantId": "<tenantId>"
"Redis__clientSecret": "<clientSecret>"