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

  1. Membuat proyek fungsi Java. Anda dapat menggunakan Maven: mvn archetype:generate -DarchetypeGroupId=com.microsoft.azure -DarchetypeArtifactId=azure-functions-archetype -DjavaVersion=8

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

  3. 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>"