Azure İşlevleri için Web PubSub bağlamaları

Bu makale kümesinde, Azure İşlevleri'de Azure Web PubSub bağlamalarını kullanarak Azure Web PubSub'a bağlı istemcilere kimlik doğrulaması ve gerçek zamanlı ileti gönderme işlemleri açıklanmaktadır.

Eylem Tür
Web PubSub'dan istemci olaylarını işleme Tetikleyici bağlaması
Http tetikleyicisi ile Web PubSub'dan istemci olaylarını işleme veya istemci erişim URL'si ve belirteci döndürme Giriş bağlaması
Hizmet API'lerini çağırma Çıkış bağlaması

Örnekler

Uzantıyı yükleme

Yüklediğiniz NuGet uzantısı, işlev uygulamanızda kullandığınız C# moduna bağlıdır:

İşlevler yalıtılmış bir C# çalışan işleminde yürütülü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.

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.

Not

Java için Web PubSub uzantıları henüz desteklenmiyor.

Temel kavramlar

İşlev Uygulamaları ile çalışan Azure Web PubSub hizmetinin iş akışını gösteren diyagram.

(1)-(2) WebPubSubConnection istemci bağlantısı oluşturmak için HttpTrigger ile giriş bağlaması.

(3)-(4) WebPubSubTrigger hizmet isteğini işlemek için HttpTrigger ile bağlamayı veya WebPubSubContext giriş bağlamasını tetikler.

(5)-(6) WebPubSub istek hizmetine bir şey yapmak için çıkış bağlaması.

Bağlantı

Azure Web PubSub hizmetine bağlanmak için bağlantı dizesini veya Microsoft Entra kimliğini kullanabilirsiniz.

Bağlantı Dizesi

Web PubSub bağlantı dizesi depolamak için varsayılan olarak adlı WebPubSubConnectionString bir uygulama ayarı kullanılır. Bağlantınız için farklı bir ayar adı kullanmayı seçtiğinizde, bunu bağlama tanımlarınızda anahtar adı olarak açıkça ayarlamanız gerekir. Yerel geliştirme sırasında, bu ayarı Valueslocal.settings.json dosyasındaki koleksiyona da eklemeniz gerekir.

Önemli

bağlantı dizesi, uygulamanızın Azure Web PubSub hizmetine erişmesi için gereken yetkilendirme bilgilerini içerir. bağlantı dizesi içindeki erişim anahtarı, hizmetinizin kök parolasına benzer. En iyi güvenlik için, işlev uygulamanız bir bağlantı dizesi kullanmak yerine Web PubSub hizmetine bağlanırken yönetilen kimlikleri kullanmalıdır.

Web PubSub ve Azure İşlevleri birlikte yapılandırma ve kullanma hakkında ayrıntılı bilgi için Öğretici: Azure İşlevleri ve Azure Web PubSub hizmetiyle sunucusuz bildirim uygulaması oluşturma makalesine bakın.

Kimlik tabanlı bağlantılar

Azure Web PubSub İşlevleri Uzantıları v1.10.0 veya üzerini kullanıyorsanız, erişim anahtarına sahip bir bağlantı dizesi kullanmak yerine işlev uygulamanızı Microsoft Entra kimliği kullanarak Azure Web PubSub'da kimlik doğrulaması yapmak üzere yapılandırabilirsiniz.

Bu yaklaşım gizli dizileri yönetme gereksinimini ortadan kaldırır ve üretim iş yükleri için önerilir.

Önkoşullar

İşlev uygulamanız tarafından kullanılan Microsoft Entra kimliğine hedef Web PubSub kaynağında uygun bir Azure RBAC rolü verildiğinden emin olun:

Konfigürasyon

Azure İşlevleri'ndeki kimlik tabanlı bağlantılar, ortak ön eki paylaşan bir dizi ayar kullanır. Varsayılan olarak, Azure Web PubSub İşlevleri uzantıları ön ekiyle WebPubSubConnectionStringayarları arar. Tetikleyicinizde veya bağlamanızda özelliğini ayarlayarak connection bu ön eki özelleştirebilirsiniz.

Azure Web PubSub için sağlamanız gereken hizmete özgü ayar hizmet uç noktası URI'sine yöneliktir:

Mülkiyet Ortam değişkeni şablonu Description Gerekli
Hizmet URI'si WebPubSubConnectionString__serviceUri Web PubSub hizmet uç noktanızın URI'sini. Yes

Azure İşlevleri hizmetinde barındırıldığında, kimlik tabanlı bağlantılar yönetilen kimlik kullanır. Sistem tarafından atanan kimlik varsayılan olarak kullanılır, ancak kullanıcı tarafından atanan bir kimlik belirtilebilir. Kimliği özelleştirme hakkında daha fazla bilgi için, Kimlik tabanlı bağlantılar için ortak özellikler.

Yerel geliştirme gibi diğer bağlamlarda çalıştırıldığında, bunun yerine geliştirici kimliğiniz kullanılır, ancak bu özelleştirilebilir. Bkz. Kimlik tabanlı bağlantılarla yerel geliştirme.

Örnek yapılandırma

Aşağıdaki örnek, kimlik tabanlı yapılandırmayı varsayılan ayarlarla gösterir:

{
  "WebPubSubConnectionString__serviceUri": "https://your-webpubsub.webpubsub.azure.com"
}

Not

Yerel, local.settings.json veya Key Vault'ta kimlik tabanlı bağlantılar için ayarlar sağlamak üzere dosya kullanırken, adların doğru çözümlendiğinden emin olmak için ayarın adını ile __ değiştirin:.

Örneğin, WebPubSubConnectionString:serviceUri.

Sonraki adımlar