Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Usługa Azure Web PubSub service opisuje zdarzenia klienta jako CloudEvents. CloudEvents to specyfikacja opisywania danych zdarzeń w typowych formatach zapewniających współdziałanie między usługami, platformami i systemami.
Odbiorniki zdarzeń usługi nasłuchują zdarzeń klienta. Usługa Event Hubs jest obecnie jedynym obsługiwanym punktem końcowym odbiornika zdarzeń, którego podstawowym protokołem jest PROTOKÓŁ AMQP (Advanced Message Queueing Protocol). Usługa Web PubSub używa powiązania protokołu AMQP CloudEvents w celu mapowania elementów CloudEvents na komunikaty AMQP.
Dane wysyłane z usługi do serwera są zawsze w formacie CloudEvents binary .
Rozszerzenie atrybutu Web PubSub CloudEvents
To rozszerzenie definiuje atrybuty używane przez usługę Web PubSub dla każdego generowanego zdarzenia.
Poniższa tabela zawiera mapowanie atrybutów na sekcję właściwości standardowych komunikatu protokołu AMQP.
| Nazwa/nazwisko | opis | Przykład |
|---|---|---|
content-type |
Typ MIME RFC-2046 dla treści wiadomości | application/json |
message-id |
Unikatowo definiuje komunikat w usłudze Web PubSub w formacie "{connection-id}/{liczba całkowita wygenerowana przez usługę}" | 0bd83792-2a0c-48d3-9fbd-df63aa2ed9db/1 |
Poniższa tabela zawiera wszystkie atrybuty CloudEvents mapowanie do sekcji właściwości aplikacji komunikatu protokołu AMQP. Każda nazwa atrybutu ma prefiks .cloudEvents:
| Nazwa/nazwisko | opis | Przykład |
|---|---|---|
specversion |
Wersja specyfikacji zdarzeń w chmurze jest zawsze 1.0 | 1.0 |
source |
Wskazuje centrum i identyfikator połączenia, z którego pochodzi zdarzenie, w formacie "/hubs/{hub}/client/{connectionId}" | /hubs/chat/client/0bd83792-2a0c-48d3-9fbd-df63aa2ed9db |
id |
Liczba całkowita wygenerowana przez usługę, unikatowa w zdarzeniach z tego samego połączenia klienta | 1 |
awpsversion |
Zdarzenia w chmurze wersja specyfikacji Azure Web PubSub jest zawsze 1.0 | 1.0 |
hub |
Nazwa centrum, z którego pochodzi zdarzenie | czat |
eventname |
Nazwa zdarzenia | Podłączony |
type |
Typ zdarzenia | azure.webpubsub.sys.connect |
connectionid |
Identyfikator połączenia klienta | 0bd83792-2a0c-48d3-9fbd-df63aa2ed9db |
time |
Czas wysyłania zdarzenia przez usługę w formacie "rrrr-MM-ddTHH:mm:ssZ" | 2021-01-01T00:00:00Z |
userid* |
Identyfikator użytkownika | użytkownik1 |
subprotocol* |
Nazwa podprotokolu | json.webpubsub.azure.v1 |
connectionstate* |
Definiuje stan połączenia. Wartość można zresetować w nagłówku odpowiedzi programów obsługi zdarzeń. Aby uzyskać więcej informacji na temat stanu połączenia, zobacz Web PubSub CloudEvents attributes (Atrybuty Web PubSub CloudEvents). | anystring |
Wartość "*" po nazwie atrybutu wskazuje, że atrybut jest obecny tylko wtedy, gdy wartość nie ma wartości null ani nie jest pusta.
Wydarzenia
W tej sekcji przedstawiono treść komunikatu protokołu AMQP z wartościami atrybutów, które zależą od określonego typu zdarzenia klienta. Pominięto wartości atrybutów, które nie zależą od typu zdarzenia klienta.
- Zdarzenie systemowe
connect: nieobsługiwane przez odbiorniki zdarzeń. - Zdarzenie systemowe
connected - Zdarzenie systemowe
disconnected - Zdarzenia
messageużytkownika dla prostych klientów protokołu WebSocket - Zdarzenie
{custom_event}niestandardowe użytkownika dla klientów Protokołu WebSocket usługi PubSub
Zdarzenie systemowe connected
content-type:application/jsoncloudEvents:type:azure.webpubsub.sys.connectedcloudEvents:eventname:connected
Treść komunikatu jest zawsze pusta w formacie JSON.
{}
Zdarzenie systemowe disconnected
content-type:application/jsoncloudEvents:type:azure.webpubsub.sys.disconnectedcloudEvents:eventname:disconnected
Treść komunikatu zawiera przyczynę rozłączenia klienta.
{"reason":"{Reason}"}
Zdarzenia message użytkownika dla prostych klientów protokołu WebSocket
content-type:application/octet-streamdla ramki binarnej;text/plaindla ramki tekstowej;cloudEvents:type:azure.webpubsub.user.message
Treść komunikatu jest wysyłana przez klienta.
Zdarzenie {custom_event} niestandardowe użytkownika dla klientów Protokołu WebSocket usługi PubSub
content-type:application/octet-streamdla ramki binarnej;application/jsondla ramki JSON;text/plaindla ramki tekstowej;application/x-protobufdla ramki Protobuf;cloudEvents:type:azure.webpubsub.user.<event_name>
W poniższych przypadkach pokazano, jak wysyłać zdarzenia z różnymi typami zawartości danych i odebranymi treściami komunikatów protokołu AMQP.
Przypadek 1: wysyłanie zdarzenia z danymi tekstowymi:
{
"type": "event",
"event": "<event_name>",
"dataType": "text",
"data": "text data"
}
Odebrano treść komunikatu PROTOKOŁU AMQP:
text data
Przypadek 2: wysyłanie zdarzenia z danymi JSON:
{
"type": "event",
"event": "<event_name>",
"dataType": "json",
"data": {
"hello": "world"
}
}
Odebrano treść komunikatu PROTOKOŁU AMQP:
{
"hello": "world"
}
Przypadek 3: wysyłanie zdarzenia z danymi binarnymi:
{
"type": "event",
"event": "<event_name>",
"dataType": "binary",
"data": "aGVsbG8gd29ybGQ=" // base64 encoded binary
}
Odebrano treść komunikatu PROTOKOŁU AMQP:
<binary data>