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.
Azure Web PubSub Chat bietet drei Entwicklungsflächen. Wählen Sie eine Methode basierend darauf, wo Ihr Code ausgeführt wird und welche Operationen er ausführt.
| Oberfläche | Ausführung in | Verwenden Sie es, um |
|---|---|---|
| Client-SDK | Clientanwendungen | Verbinden Sie sich über WebSockets, erstellen Sie Räume, verwalten Sie Raummitglieder, tauschen Sie Nachrichten aus, lesen Sie den Verlauf und bearbeiten Sie Echtzeit-Ereignisse. |
| Service SDK | Serveranwendungen | Verwalten Sie Rollen, Benutzer, Räume, Mitglieder, Konversationen und gespeicherte Nachrichten und generieren Sie Client-Zugriffs-URLs. |
| REST API | Serveranwendungen | Führen Sie die gleichen administrativen Operationen direkt über HTTP aus. |
Client-SDK
Das JavaScript-Client-SDK wird als @azure/web-pubsub-chat-client npm-Paket veröffentlicht. Es stellt eine ChatClient offen, die sich mit einer Client-Zugriffs-URL verbindet, Räume erstellt, Nachrichten sendet und liest und Echtzeitereignisse auslöst.
Für eine Anleitung siehe Get Start with Azure Web PubSub Chat. Für die vollständige API, den Quellcode und die Beispiele siehe das Quellverzeichnis des Chat-Client SDK.
Note
Das Client-Paket @azure/web-pubsub-chat-client unterscheidet sich vom serverseitigen JavaScript-Servicepaket @azure/web-pubsub-chat.
Dienst-SDKs
Chat-Service-SDKs hüllen die Data-Plane-REST-API in sprachspezifische Clients. Sie laufen in einer vertrauenswürdigen Serverumgebung und können sich mit einer Verbindungszeichenfolge, einem Zugangsschlüssel oder einer Microsoft Entra ID authentifizieren.
Important
Azure Web PubSub Chat und die verfügbaren Chat-Service-SDKs befinden sich in der Vorschau. Beta-SDK-APIs können sich vor der allgemeinen Verfügbarkeit ändern.
| Sprache | Paket | Status | Reference |
|---|---|---|---|
| Java | com.azure:azure-messaging-webpubsub-chat |
Preview | Chat-Service SDK für Java |
| JavaScript | @azure/web-pubsub-chat |
Preview | Chat-Service SDK für JavaScript |
| .NET | Wird noch bekannt gegeben | Wird ausgeführt | Nicht verfügbar |
| Python | Wird noch bekannt gegeben | Wird ausgeführt | Nicht verfügbar |
Die Standard-Web-PubSub-Service-SDKs stellen keine Chat-spezifischen Ressourcen bereit. Verwenden Sie ein Chat-Service-SDK oder die Chat REST API, wenn Sie mit Rollen, Benutzern, Räumen, Mitgliedern, Gesprächen oder persistenten Nachrichten arbeiten.
REST API
Die Azure Web PubSub Chat data-plane REST API verwaltet Chat-Ressourcen von Ihrem Server aus. Nutze es direkt, wenn kein Chat-Service-SDK für deine Sprache verfügbar ist.
Die Chat-REST-API verwendet denselben Ressourcenendpunkt und dieselbe Hub-Route wie die Web PubSub Data-Plane REST API ({endpoint}/api/hubs/{hub}/chat/...). Authentifizieren Sie sich mit einem Zugangsschlüssel oder einem Microsoft Entra ID-Token. Informationen zum Erhalten eines Tokens und zum Signieren jeder Anfrage finden Sie unter Using the REST API.
Note
Für die detaillierte REST-API-Spezifikation siehe die Web PubSub Chat REST API-Referenz.
Mit einem Bearer-Token von beiden Methoden rufst du einen Chat-Endpunkt mit jedem HTTP-Client auf. Beispiel:
const endpoint = process.env.WebPubSubEndpoint; // https://contoso.webpubsub.azure.com
const hub = "chat";
const token = "<bearer token>"; // from Microsoft Entra ID or an access key, as described above
async function chatRequest(method, path, body) {
const res = await fetch(`${endpoint}/api/hubs/${hub}/chat/${path}?api-version=2026-02-01-preview`, {
method,
headers: {
Authorization: `Bearer ${token}`,
"Content-Type": "application/json",
},
body: body ? JSON.stringify(body) : undefined,
});
if (!res.ok) {
throw new Error(`Chat API ${method} ${path} failed: ${res.status}`);
}
return res.status === 204 ? undefined : res.json();
}
// Example: create a room, then add a member
await chatRequest("PUT", "rooms/falcon", { title: "Project Falcon" });
await chatRequest("PUT", "rooms/falcon/members/bob", { roleName: "room.member" });