Aracılığıyla paylaş


Azure Redis için Azure işlevlerine genel bakış

Bu makalede, iyileştirilmiş sunucusuz ve olay odaklı mimariler oluşturmak için Azure Managed Redis veya Azure İşlevleri ile Redis için Azure Cache nasıl kullanılacağı açıklanmaktadır.

Azure İşlevleri tetikleyicilerin ve bağlamaların temel özellikler olduğu olay odaklı bir programlama modeli sağlar. Azure İşlevleri ile olay odaklı sunucusuz uygulamaları kolayca oluşturabilirsiniz. Azure Redis hizmetleri (Azure Yönetilen Redis ve Redis için Azure Cache), mikro hizmetler, durum yönetimi, pub/sub mesajlaşması ve daha fazlası dahil olmak üzere dağıtılmış uygulamalar oluşturmaya yönelik bir dizi yapı taşları ve en iyi yöntemleri sağlar.

Azure Redis, Azure İşlevleri için tetikleyici olarak kullanılabilir ve sunucusuz bir iş akışı başlatmanıza olanak tanır. Bu işlevsellik, arka planda yazma önbelleği veya olay tabanlı mimariler gibi veri mimarilerinde son derece yararlı olabilir.

Azure Redis ve Azure İşlevleri tümleştirerek Azure Redis veya dış sistemlerden gelen olaylara tepki veren işlevler oluşturabilirsiniz.

Eylem Yön
Redis pub alt iletilerinde tetikleyici Tetikle
Redis listelerinde tetikleyici Tetikle
Redis akışlarında tetikleyici Tetikle
Önbelleğe alınmış bir değeri okuma Giriş
Önbelleğe değer yazma Çıktı

İşlev tetikleyicileri ve bağlamaları için kullanılabilirlik kapsamı

Katman Redis için Azure Cache (Temel, Standart, Premium, Kurumsal, Kurumsal Flash) Azure Yönetilen Redis (Bellek için İyileştirilmiş, Temel, İşlem için İyileştirilmiş, Flash İyileştirilmiş)
Pub/Sub Yes Yes
Listeler Yes Yes
Akışlar Yes Yes
Bağlamalar Yes Yes

Önemli

Redis tetikleyicileri şu anda yalnızca Elastik Premium planında veya ayrılmış bir App Service planında çalışan işlevler için desteklenmektedir.

Uzantıyı yükleme

İşlevler yalıtılmış bir C# çalışan işleminde çalışır. Daha fazla bilgi edinmek için bkz. Yalıtılmış çalışan işleminde C# Azure İşlevleri çalıştırma kılavuzu.

Bu NuGet paketini yükleyerek uzantıyı projenize ekleyin.

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

Paket yükleme

Bu bağlama uzantısını uygulamanızda kullanabilmek için projenizin kökündeki host.json dosyasının şu extensionBundle başvuruyu içerdiğinden emin olun:

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

Bu örnekte, version değeri [4.0.0, 5.0.0) İşlevler konağına en az 4.0.0 ama daha küçük 5.0.0olan ve 4.x'in tüm olası sürümlerini içeren bir paket sürümü kullanma talimatı verir. Bu gösterimi, uygulamanızı v4.x uzantı paketinin kullanılabilir en son ikincil sürümünde etkili bir şekilde korur.

Mümkün olduğunda, en son uzantı paketi ana sürümünü kullanmanız ve çalışma zamanının en son ikincil sürümü otomatik olarak korumasına izin vermelisiniz. Uzantı paketleri yayın sayfasında en son paketin içeriğini görüntüleyebilirsiniz. Daha fazla bilgi için bkz. Azure İşlevleri uzantı paketleri.

Paketleri güncelleştirme

Bu bağımlılığı eklemek için dosyayı güncelleştirerek pom.xml projenize ekleyin:

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

Redis bağlantı dizesi

Azure Redis tetikleyicileri ve bağlamaları, önbellek bağlantısı bilgilerini içeren uygulama ayarını veya koleksiyon adını gösteren gerekli bir özelliğe sahiptir. Redis tetikleyicisi veya bağlaması, parametreye Connection geçirilen adla bağlantı dizesi tutan bir ortam değişkeni arar.

Yerel geliştirmede, Connection local.settings.json dosyası kullanılarak tanımlanabilir. Azure'a dağıtıldığında uygulama ayarları kullanılabilir.

Azure işleviyle bir önbellek örneğine bağlanırken, dağıtımlarınızda şu tür bağlantılardan birini kullanabilirsiniz:

Kullanıcı tarafından atanan yönetilen kimliğin işlev uygulamanızla ilişkilendirilmesi ve bu kimliğe önbellek hizmetinizde açık izinler verilmesi gerekir. Daha fazla bilgi için bkz. Önbellek kimlik doğrulaması için Microsoft Entra Id kullanma.

Bu örneklerde, bağlamadaki özelliğin olarak ayarlandığı Connectionvarsayılarak istemci kimlik doğrulaması türüne göre her önbellek hizmetine bağlanmak için gereken uygulama ayarlarının Redis anahtar adı ve değeri gösterilir.

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