Funkce upstreamových koncových bodů umožňuje službě Azure SignalR odesílat zprávy a události připojení do sady koncových bodů v bezserverovém režimu. Upstreamové koncové body můžete použít k vyvolání metody rozbočovače z klientů v bezserverovém režimu k upozorňovat koncové body při připojení nebo odpojení připojení klienta.
Poznámka
Upstreamové koncové body je možné konfigurovat pouze v bezserverovém režimu.
Nastavení upstreamových koncových bodů
Nastavení upstreamového koncového bodu se skládá ze seznamu položek citlivých na pořadí:
Šablona adresy URL, která určuje, kam se zprávy odesílají.
Sada pravidel.
Konfigurace ověřování.
Když se aktivuje událost, pravidla položky se kontrolují po jedné po druhé v pořadí. Zprávy se odešlou na adresu URL prvního nadřazeného koncového bodu odpovídající položky.
Nastavení šablony adresy URL
Pokud chcete podporovat různé vzory, můžete parametrizovat adresu URL upstreamového koncového bodu. Existují tři předdefinované parametry:
Předdefinovaný parametr
Popis
{hub}
Centrum je koncept služby Azure SignalR Service. Centrum je jednotka izolace. Rozsah uživatelů a doručování zpráv je omezený na centrum.
{category}
Kategorie může být jedna z následujících hodnot:
připojení: Události životnosti připojení. Aktivuje se, když je připojení klienta připojené nebo odpojené. Zahrnuje připojené a odpojené události.
zprávy: Aktivuje se při vyvolání metody centra klienty. Zahrnuje všechny ostatní události s výjimkou událostí v kategorii připojení .
{event}
Pro kategorii zpráv je událost cílem ve zprávě vyvolání, kterou klienti odesílají. Pro kategorii připojení se používají pouze připojené a odpojené.
Tyto předdefinované parametry lze použít ve vzoru adresy URL. Parametry budou při vyhodnocování adresy URL nadřazeného koncového bodu nahrazeny zadanou hodnotou. Příklad:
http://host.com/{hub}/api/{category}/{event}
Když je připojení klienta v centru chatu, odešle se na tuto adresu URL zpráva:
http://host.com/chat/api/connections/connected
Když klient v centru chatu vyvolá metodu broadcastcentra, odešle se na tuto adresu URL zpráva:
http://host.com/chat/api/messages/broadcast
Referenční informace ke tajným kódům služby Key Vault v nastavení šablony adresy URL
Adresa URL nadřazeného koncového bodu není šifrovaná. Citlivé upstreamové koncové body můžete zabezpečit pomocí služby Key Vault a přistupovat k nim pomocí spravované identity.
Povolení spravované identity v instanci služby SignalR a udělení přístupu ke službě Key Vault:
Každých 30 minut nebo pokaždé, když se změní nastavení nadřazeného koncového bodu nebo spravovaná identita, služba přečte obsah tajného kódu. Aktualizaci můžete okamžitě aktivovat změnou nastavení upstreamového koncového bodu.
Nastavení pravidel
Pravidla centra, pravidla kategorií a pravidla událostí můžete nastavit samostatně. Odpovídající pravidlo podporuje tři formáty:
Použijte hvězdičku (*) ke shodě s libovolnou událostí.
K připojení více událostí použijte čárku (,). connected, disconnected Například odpovídá připojeným a odpojeným událostem.
Použijte úplný název události, aby se shodovaly s událostí. Například connected odpovídá připojené události.
Poznámka
Pokud používáte Azure Functions s triggerem SignalR, trigger SignalR zveřejní jeden koncový bod v následujícím formátu: <Function_App_URL>/runtime/webhooks/signalr?code=<API_KEY>
Stačí nakonfigurovat nastavení šablony adresy URL pro tuto adresu URL a ponechat výchozí nastavení pravidla. Podrobnosti o tom, jak najít a najít<Function_App_URL>, <API_KEY>najdete v tématu Integrace služby SignalR Service.
Nastavení ověřování
Ověřování pro každé nastavení nadřazeného koncového bodu můžete nakonfigurovat samostatně. Při konfiguraci ověřování se v hlavičce nadřazené zprávy nastaví Authentication token. Služba Azure SignalR v současné době podporuje následující typy ověřování:
None
ManagedIdentity
Když vyberete ManagedIdentitymožnost , musíte nejprve povolit spravovanou identitu ve službě Azure SignalR a volitelně zadat prostředek. Podrobnosti najdete v tématu Spravované identity pro službu Azure SignalR Service .
Konfigurace nastavení upstreamového koncového bodu prostřednictvím webu Azure Portal
Poznámka
Integrace se službou App Service Environment se v současné době nepodporuje.
Přejděte do služby Azure SignalR.
Vyberte Nastavení.
Přepněte režim služby na bezserverovou verzi.
Přidejte adresy URL pod vzor upstreamové adresy URL.
Výběrem pravidel centra otevřete upstreamová nastavení.
Změňte pravidla centra, pravidla událostí a pravidla kategorií zadáním hodnoty pravidla do odpovídajícího pole.
V části Upstream Authentication select
Použijte spravovanou identitu. (Ujistěte se, že jste povolili spravovanou identitu.
Konfigurace nastavení upstreamového koncového bodu prostřednictvím šablony Resource Manageru
Pokud chcete nakonfigurovat upstreamová nastavení koncového bodu pomocí šablony Azure Resource Manageru, nastavte upstream vlastnost ve properties vlastnosti. Následující fragment kódu ukazuje, jak nastavit upstream vlastnost pro vytváření a aktualizaci nastavení nadřazeného koncového bodu.
Služba Azure SignalR odesílá zprávy do koncových bodů, které se řídí následujícími protokoly. Můžete použít vazbu triggeru služby SignalR Service s aplikací funkcí, která tyto protokoly zpracovává za vás.
metoda
POST
Hlavička požadavku
Název
Popis
ID připojení X-ASRS
ID připojení pro připojení klienta.
X-ASRS-Hub
Centrum, ke kterému patří připojení klienta.
Kategorie X-ASRS
Kategorie, do které zpráva patří.
Událost X-ASRS
Událost, do které zpráva patří.
Podpis X-ASRS
Ověřovací kód (HMAC) založený na hodnotě hash, který se používá k ověřování. Podrobnosti najdete v části Podpis .
X-ASRS-User-Claims
Skupina deklarací identity připojení klienta.
X-ASRS-User-ID
Identita uživatele klienta, který zprávu odešle.
X-ASRS-Client-Query
Dotaz požadavku, když se klienti připojují ke službě.
Ověřování
Volitelný token, když používáte ManagedIdentity.
Text požadavku
Připojeno
Typ obsahu: application/json
Odpojeno
Typ obsahu: application/json
Name
Typ
Popis
Chyba
string
Chybová zpráva uzavřeného připojení. Prázdné, když se připojení zavřou bez chyby.
Vyvolání zprávy
Typ obsahu: application/json nebo application/x-msgpack
Name
Typ
Popis
InvocationId
string
Volitelný řetězec, který představuje vyvolání zprávy. Podrobnosti najdete v vyvolání.
Cíl
string
Stejná jako událost a stejná jako cíl ve zprávě vyvolání.
Argumenty
Pole objektu
Matice obsahující argumenty, které se mají použít na metodu uvedenou v Target.
Podpis
Služba vypočítá kód SHA256 pro X-ASRS-Connection-Id hodnotu pomocí primárního přístupového klíče i sekundárního přístupového HMAC klíče jako klíče. Služba ji nastaví v X-ASRS-Signature hlavičce při provádění požadavků HTTP na upstreamový koncový bod:
Změňte mechanismus aktualizace webové aplikace v JavaScriptu z dotazování na architekturu založenou na nabízení v reálném čase pomocí služby SignalR, Azure Cosmos DB a Azure Functions. Pomocí Vue.js a JavaScriptu můžete používat SignalR pomocí editoru Visual Studio Code.