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

Bir şey yapmak üzere Azure Web PubSub hizmetini çağırmak için Web PubSub çıkış bağlamasını kullanın. Şu kişilere ileti gönderebilirsiniz:

  • Tüm bağlı istemciler
  • Belirli bir kullanıcı için kimliği doğrulanmış bağlı istemciler
  • Belirli bir gruba katılmış bağlı istemciler
  • Belirli bir istemci bağlantısı

Çıkış bağlaması ayrıca istemcileri ve grupları yönetmenize ve grupla belirli connectionId'yi hedefleyen izinler vermenizi/iptal etmenizi sağlar.

  • Gruba bağlantı ekleme
  • Gruba kullanıcı ekleme
  • Gruptan bağlantıyı kaldırma
  • Kullanıcıyı gruptan kaldırma
  • Kullanıcıyı tüm gruplardan kaldırma
  • Tüm istemci bağlantılarını kapatma
  • Belirli bir istemci bağlantısını kapatma
  • Gruptaki bağlantıları kapatma
  • Bağlantı izni verme
  • Bağlantı iznini iptal etme

Kurulum ve yapılandırma ayrıntıları hakkında bilgi için genel bakışa bakın.

Örnek

[Function("WebPubSubOutputBinding")]
[WebPubSubOutput(Hub = "<hub>", Connection = "<web_pubsub_connection_name>")]
public static WebPubSubAction Run([HttpTrigger(AuthorizationLevel.Function, "get", "post")] HttpRequestData req)
{
    return new SendToAllAction
    {
        Data = BinaryData.FromString("Hello Web PubSub!"),
        DataType = WebPubSubDataType.Text
    };
}

const { app, output } = require('@azure/functions');
const wpsMsg = output.generic({
    type: 'webPubSub',
    name: 'actions',
    hub: '<hub>',
});

app.http('message', {
    methods: ['GET', 'POST'],
    authLevel: 'anonymous',
    extraOutputs: [wpsMsg],
    handler: async (request, context) => {
        context.extraOutputs.set(wpsMsg, [{
            "actionName": "sendToAll",
            "data": `Hello world`,
            "dataType": `text`
        }]);
    }
});

Not

Bu dil için tam örnekler beklemede

Not

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

WebPubSubAction

WebPubSubAction çıkış bağlamalarının temel soyut türüdür. Türetilmiş türler, hizmetin çağırmasını istediğiniz eylem sunucusunu temsil eder.

C# dilinde, kullanılabilir eylemleri keşfetmeye yardımcı olmak için altında WebPubSubAction birkaç statik yöntem sağlarız. Örneğin, kullanıcı çağrısıyla SendToAllActionWebPubSubAction.CreateSendToAllAction()oluşturabilir.

Türetilmiş Sınıf Özellikler
SendToAllAction Veri, Veri Türü, Hariç Tutuldu
SendToGroupAction Grup, Veri, VeriTürü, Hariç Tutulan
SendToUserAction Kullanıcı Kimliği, Veri, Veri Türü
SendToConnectionAction BağlantıKimliği, Veri, VeriTürü
AddUserToGroupAction Kullanıcı Kimliği, Grup
RemoveUserFromGroupAction Kullanıcı Kimliği, Grup
RemoveUserFromAllGroupsAction Kullanıcı Kimliği
AddConnectionToGroupAction Bağlantı Kimliği, Grup
RemoveConnectionFromGroupAction Bağlantı Kimliği, Grup
CloseAllConnectionsAction Dışlandı, Neden
CloseClientConnectionAction ConnectionId, Neden
CloseGroupConnectionsAction Grup, Dışlanan, Neden
GrantPermissionAction BağlantıId, İzin, HedefAdı
RevokePermissionAction BağlantıId, İzin, HedefAdı

actionName , türü çözümlemek için anahtar parametredir. Kullanılabilir eylemler aşağıdaki gibi listelenir.

EylemAdı Özellikler
sendToAll Veri, Veri Türü, Hariç Tutuldu
sendToGroup Grup, Veri, VeriTürü, Hariç Tutulan
sendToUser Kullanıcı Kimliği, Veri, Veri Türü
sendToConnection BağlantıKimliği, Veri, VeriTürü
addUserToGroup Kullanıcı Kimliği, Grup
removeUserFromGroup Kullanıcı Kimliği, Grup
removeUserFromAllGroups Kullanıcı Kimliği
addConnectionToGroup Bağlantı Kimliği, Grup
removeConnectionFromGroup Bağlantı Kimliği, Grup
closeAllConnections Dışlandı, Neden
closeClientConnection ConnectionId, Neden
closeGroupConnections Grup, Dışlanan, Neden
grantPermission BağlantıId, İzin, HedefAdı
revokePermission BağlantıId, İzin, HedefAdı

Önemli

Veri türü olarak ayarlandıysa string veya json veri dönüştürme belirsizliğini önlemek için gönderilen iletiyle ilgili eylemlerdeki ileti veri özelliği olmalıdırtext. Lütfen ihtiyacı olan json nesnesini dönüştürmek için kullanın JSON.stringify() . Bu, ileti özelliği kullanılarak herhangi bir yere uygulanır, örneğin ile UserEventResponse.DataWebPubSubTriggerçalışma.

Veri türü olarak binaryayarlandığında, içinde yapılandırıldığı gibi doğal olarak dataType desteklenen binary bağlamadan yararlanmasına function.jsonizin verilir. Ayrıntılar için bkz. Tetikleyici ve bağlama tanımları.

Yapılandırma

Aşağıdaki tabloda, function.json dosyasında ve WebPubSub özniteliğinde ayarladığınız bağlama yapılandırma özellikleri açıklanmaktadır.

function.json özelliği Öznitelik özelliği Açıklama
türü yok Şu şekilde ayarlanmalıdır: webPubSub
yön yok Şu şekilde ayarlanmalıdır: out
ad yok Çıkış bağlama nesnesi için işlev kodunda kullanılan değişken adı.
göbek Merkez değeri, işlevin tetiklenebilmesi için Web PubSub hub'ının adına ayarlanmalıdır. özniteliğindeki değeri daha yüksek öncelik olarak ayarlamayı destekliyoruz veya uygulama ayarlarında genel değer olarak ayarlanabilir.
bağlantı Bağlantı Web PubSub Hizmeti bağlantı dizesi içeren uygulama ayarının adı (varsayılan olarak "WebPubSubConnectionString" olarak adlandırılır).

Önemli

En iyi güvenlik için, işlev uygulamanız paylaşılan gizli anahtar içeren bir bağlantı dizesi kullanmak yerine Web PubSub hizmetine bağlanırken yönetilen kimlikleri kullanmalıdır. Daha fazla bilgi için bkz . Microsoft Entra Id kullanarak yönetilen kimlik isteğini yetkilendirme.

Sorun giderme

Konsol günlüğünü ayarlama

Ayrıca, hizmette yaptığınız istekleri daha ayrıntılı incelemek istiyorsanız konsol günlüğünü kolayca etkinleştirebilirsiniz.