Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Verwenden Sie die Web PubSub-Ausgabebindung , um den Azure Web PubSub-Dienst aufzurufen, um eine Aktion auszuführen. Sie können eine Nachricht senden an:
- Alle verbundenen Clients
- Verbundene Clients, die für einen bestimmten Benutzer authentifiziert sind
- Verbundene Clients, die in einer bestimmten Gruppe miteinander verknüpft sind
- Eine bestimmte Clientverbindung
Mit der Ausgabebindung können Sie außerdem Clients und Gruppen verwalten und Berechtigungen erteilen/widerrufen, die auf bestimmte ConnectionId mit Gruppe abzielen.
- Hinzufügen einer Verbindung zu einer Gruppe
- Hinzufügen von Benutzern zur Gruppe
- Entfernen einer Verbindung aus einer Gruppe
- Entfernen eines Benutzers aus einer Gruppe
- Entfernen eines Benutzers aus allen Gruppen
- Schließen aller Clientverbindungen
- Schließen einer bestimmten Clientverbindung
- Schließen von Verbindungen in einer Gruppe
- Zuweisen der Berechtigung für eine Verbindung
- Widerrufen der Berechtigung für eine Verbindung
Informationen zu Setup- und Konfigurationsdetails finden Sie in der Übersicht.
Beispiel
[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`
}]);
}
});
Hinweis
Vollständige Beispiele für diese Sprache stehen aus.
Hinweis
Die Web PubSub-Erweiterungen für Java werden noch nicht unterstützt.
WebPubSubAction
WebPubSubAction
ist der abstrakte Basistyp von Ausgabebindungen. Die abgeleiteten Typen stellen die Aktion dar, die der Server vom Dienst aufrufen möchte.
In der Programmiersprache C# geben Sie einige statische Methoden unter WebPubSubAction
an, um die verfügbaren Aktionen zu ermitteln. Sie können Benutzer*innen beispielsweise die SendToAllAction
erstellen, indem sie WebPubSubAction.CreateSendToAllAction()
aufrufen.
Abgeleitete Klasse | Eigenschaften |
---|---|
SendToAllAction |
Daten, Datentyp, Ausgeschlossen |
SendToGroupAction |
Gruppe, Daten, Datentyp, Ausgeschlossen |
SendToUserAction |
BenutzerId, Daten, Datentyp |
SendToConnectionAction |
Verbindungskennung, Daten, Datentyp |
AddUserToGroupAction |
Benutzer-ID, Gruppe |
RemoveUserFromGroupAction |
Benutzer-ID, Gruppe |
RemoveUserFromAllGroupsAction |
Benutzer-ID |
AddConnectionToGroupAction |
Verbindungs-ID, Gruppe |
RemoveConnectionFromGroupAction |
Verbindungs-ID, Gruppe |
CloseAllConnectionsAction |
Ausgeschlossen, Grund |
CloseClientConnectionAction |
Verbindungs-ID, Grund |
CloseGroupConnectionsAction |
Gruppe, ausgeschlossen, Grund |
GrantPermissionAction |
Verbindungs-ID, Berechtigung, Zielname |
RevokePermissionAction |
Verbindungs-ID, Berechtigung, Zielname |
actionName
ist der Schlüsselparameter zum Auflösen des Typs. Verfügbare Aktionen werden wie folgt aufgeführt.
Aktionsname | Eigenschaften |
---|---|
sendToAll |
Daten, Datentyp, Ausgeschlossen |
sendToGroup |
Gruppe, Daten, Datentyp, Ausgeschlossen |
sendToUser |
BenutzerId, Daten, Datentyp |
sendToConnection |
Verbindungskennung, Daten, Datentyp |
addUserToGroup |
Benutzer-ID, Gruppe |
removeUserFromGroup |
Benutzer-ID, Gruppe |
removeUserFromAllGroups |
Benutzer-ID |
addConnectionToGroup |
Verbindungs-ID, Gruppe |
removeConnectionFromGroup |
Verbindungs-ID, Gruppe |
closeAllConnections |
Ausgeschlossen, Grund |
closeClientConnection |
Verbindungs-ID, Grund |
closeGroupConnections |
Gruppe, ausgeschlossen, Grund |
grantPermission |
Verbindungs-ID, Berechtigung, Zielname |
revokePermission |
Verbindungs-ID, Berechtigung, Zielname |
Wichtig
Die Nachrichtendateneigenschaft in den aktionen im Zusammenhang mit gesendeten Nachrichten muss sein string
, wenn der Datentyp auf json
die Datenkonvertierungsdeutigkeit festgelegt oder text
verhindert werden soll. Verwenden Sie JSON.stringify()
, um das benötigte JSON-Objekt zu konvertieren. Dies wird an jeder Stelle mithilfe der Nachrichteneigenschaft angewandt, z. B. durch UserEventResponse.Data
bei Verwendung von WebPubSubTrigger
.
Wenn der Datentyp auf binary
festgelegt wurde, ist es zulässig, einen nativ unterstützten dataType
als binary
zu binden, wie in function.json
konfiguriert. Weitere Informationen finden Sie unter Trigger- und Bindungsdefinitionen.
Konfiguration
Die folgende Tabelle gibt Aufschluss über die Bindungskonfigurationseigenschaften, die Sie in der Datei „function.json“ und im WebPubSub
-Attribut festlegen.
Eigenschaft von „function.json“ | Attributeigenschaft | BESCHREIBUNG |
---|---|---|
Typ | Nicht zutreffend | Muss auf webPubSub festgelegt werden. |
Richtung | Nicht zutreffend | Muss auf out festgelegt werden. |
Name | Nicht zutreffend | Variablenname, der im Funktionscode für das Ausgabebindungsobjekt verwendet wird |
Nabe | Drehscheibe | Dieser Wert muss auf den Namen des Web PubSub-Hubs festgelegt werden, damit die Funktion ausgelöst werden kann. Das Festlegen des Werts als einer mit höherer Priorität wird im Attribut unterstützt. Alternativ kann dies in den App-Einstellungen als globaler Wert festgelegt werden. |
Verbindung | Verbindung | Der Name der App-Einstellung, die die Verbindungszeichenfolge des Web PubSub-Diensts enthält (standardmäßig WebPubSubConnectionString) |
Wichtig
Um optimale Sicherheit zu gewährleisten, sollte Ihre Funktions-App verwaltete Identitäten verwenden, wenn Sie eine Verbindung mit dem Web PubSub-Dienst herstellen, anstatt eine Verbindungszeichenfolge zu verwenden, die einen freigegebenen geheimen Schlüssel enthält. Weitere Informationen finden Sie unter Autorisieren einer verwalteten Identitätsanforderung mithilfe der Microsoft Entra-ID.
Problembehandlung
Einrichten der Konsolenprotokollierung
Sie können auch einfach die Konsolenprotokollierung aktivieren, wenn Sie ausführliche Informationen zu den von Ihnen an den Dienst gesendeten Anforderungen erhalten möchten.