Sdílet prostřednictvím


Import rozhraní WebSocket API

PLATÍ PRO: Vývojář | Základní | Basic v2 | Standardní | Standard v2 | Premium | Premium v2

S využitím řešení API WebSocket API služby API Management můžou vydavatelé rozhraní API rychle přidat rozhraní API WebSocket ve službě API Management prostřednictvím webu Azure Portal, Azure CLI, Azure PowerShellu a dalších nástrojů Azure.

Rozhraní WebSocket API lze zabezpečit použitím zásad řízení přístupu API Management při počáteční operaci handshake. Rozhraní API protokolu WebSocket můžete také otestovat pomocí testovacích konzol rozhraní API na webu Azure Portal i na portálu pro vývojáře. Služba API Management na základě existujících možností pozorovatelnosti poskytuje metriky a protokoly pro monitorování a řešení potíží s rozhraními API protokolu WebSocket.

V tomto článku provedete následující:

  • Seznamte se s tokem průchodu protokolu WebSocket.
  • Přidejte do instance služby API Management rozhraní API WebSocket.
  • Otestujte rozhraní API protokolu WebSocket.
  • Prohlédněte si metriky a protokoly pro rozhraní WebSocket API.
  • Přečtěte si o omezeních rozhraní WEBSocket API.

Požadavky

  • Existující instance služby API Management. Vytvořte ho, pokud jste to ještě neudělali.
  • Rozhraní API protokolu WebSocket.
  • Azure CLI (příkazový řádek nástroje Azure)

Průchod protokolu WebSocket

API Management podporuje předávání Protokolu WebSocket.

Vizuální ilustrace toku průchodu WebSocket

Během průchodu Protokolu WebSocket vytvoří klientská aplikace připojení WebSocket s bránou API Management, která pak vytvoří připojení s odpovídajícími back-endovými službami. Služba API Management pak zprostředkovává zprávy mezi klientem a serverem prostřednictvím WebSocket.

  1. Klientská aplikace odešle do brány požadavek handshake protokolu WebSocket, který vyvolá operaci onHandshake.
  2. Brána API Management používá nakonfigurované zásady a odesílá požadavky metody handshake protokolu WebSocket do odpovídající back-endové služby.
  3. Back-endová služba upgraduje připojení na WebSocket.
  4. Brána aktualizuje odpovídající připojení na WebSocket.
  5. Po navázání páru připojení zprostředkuje služba API Management zprávy mezi klientskou aplikací a back-endovou službou.
  6. Klientská aplikace odešle bráně zprávu.
  7. Brána předá zprávu službě zázemí.
  8. Back-endová služba odešle bráně zprávu.
  9. Brána předá zprávu klientské aplikaci.
  10. Když se obě strany odpojí, služba API Management ukončí odpovídající připojení.

Poznámka:

Připojení na straně klienta a serveru se skládají z mapování 1:1.

onHandshake – operace

Podle protokolu WebSocket, když se klientská aplikace pokusí navázat připojení WebSocket s backend službou, nejprve odešle žádost o navázání spojení. Každé rozhraní API protokolu WebSocket ve službě API Management má operaci onHandshake. onHandshake je neměnná, neodstranitelná, automaticky vytvořená systémová operace. Operace onHandshake umožňuje vydavatelům rozhraní API zachytit tyto požadavky metodou handshake a použít na ně zásady služby API Management.

Příklad obrazovky OnHandshake

Přidání rozhraní WEBSocket API

    1. Na webu Azure Portal přejděte k vaší instanci služby API Management.
  1. V nabídce vlevo vyberte rozhraní API> + Přidat rozhraní API.

  2. V části Definovat nové rozhraní API vyberte WebSocket.

  3. V dialogovém okně vyberte Úplné a vyplňte požadovaná pole formuláře.

    Pole Popis
    Zobrazovaný název Název, podle kterého se zobrazí rozhraní API protokolu WebSocket.
    Název Nezpracovaný název rozhraní WebSocket API Při zadávání zobrazovaného názvu se automaticky vyplní.
    WebSocket URL adresa Základní adresa URL s názvem webového socketu. Příklad: ws://example.com/your-socket-name
    Schéma URL Přijměte výchozí hodnotu.
    Přípona adresy URL rozhraní API Přidejte příponu adresy URL pro identifikaci tohoto konkrétního rozhraní API v této instanci platformy API Management. Musí být jedinečný v této instanci služby API Management.
    Produkty Přidružte rozhraní WebSocket API k produktu k jeho publikování.
    Brány Přidružte rozhraní WebSocket API k existujícím branám.
  4. Klikněte na Vytvořit.

Testování rozhraní WEBSocket API

  1. Přejděte k rozhraní WebSocket API.

  2. V rozhraní API WebSocket vyberte operaci onHandshake.

  3. Vyberte kartu Test pro přístup ke konzole test.

  4. Volitelně můžete zadat parametry řetězce dotazu požadované pro metodu handshake protokolu WebSocket.

    Příklad testovacího rozhraní API

  5. Klepněte na tlačítko Připojit.

  6. Zobrazení stavu připojení ve výstupu

  7. Zadejte hodnotu do datového pole.

  8. Klepněte na tlačítko Odeslat.

  9. Zobrazení přijatých zpráv ve výstupu

  10. Opakujte předchozí kroky k otestování různých datových částí.

  11. Po dokončení testování vyberte Odpojit.

Zobrazení metrik a protokolů

Pro sledování rozhraní WebSocket API použijte standardní funkce správy rozhraní API a služby Azure Monitor.

  • Zobrazení metrik rozhraní API ve službě Azure Monitor
  • Volitelně můžete povolit nastavení diagnostiky ke shromažďování a zobrazení protokolů brány služby API Management, které zahrnují operace rozhraní API WebSocket nebo protokoly připojení WebSocket.

Například následující snímek obrazovky ukazuje nedávné odpovědi rozhraní WebSocket API s kódem 101 z tabulky ApiManagementGatewayLogs . Tyto výsledky označují úspěšné přepnutí požadavků z protokolu TCP na protokol WebSocket.

Protokoly dotazů pro požadavky rozhraní WebSocket API

Omezení

Toto jsou aktuální omezení podpory protokolu WebSocket ve službě API Management:

  • Rozhraní API protokolu WebSocket zatím nejsou podporována ve vrstvě spotřeby.
  • Rozhraní WebSocket API podporují následující platné typy bufferů pro zprávy: Close, BinaryFragment, BinaryMessage, UTF8Fragment a UTF8Message.
  • V současné době zásady set-header nepodporují změnu určitých dobře známých hlaviček, včetně Host hlaviček, v požadavcích onHandshake.
  • Během handshake procesu protokolu TLS s WebSocket backendem API Management ověří, zda je certifikát serveru důvěryhodný a zda se jeho název subjektu shoduje s názvem hostitele. Pomocí rozhraní HTTP API služba API ověří, že certifikát je důvěryhodný, ale neověřuje, že název hostitele a předmět odpovídají.

Omezení připojení WebSocket najdete v tématu Omezení služby API Management.

Nepodporované zásady

Následující zásady nejsou podporovány a nelze je použít pro operaci onHandshake:

  • Simulovaná odpověď
  • Získat z mezipaměti
  • Uložit do mezipaměti
  • Povolit volání mezi doménami
  • CORS
  • JSONP
  • Nastavení metody požadavku
  • Nastavit tělo
  • Convert XML to JSON (Převést XML na JSON)
  • Convert JSON to XML (Převést JSON na XML)
  • Transformace XML pomocí XSLT
  • Ověření obsahu
  • Ověření parametrů
  • Ověření hlaviček
  • Ověřit stavový kód

Poznámka:

Pokud jste zásady uplatnili ve vyšších úrovních (například globální nebo produktové) a jsou zděděny rozhraním API WebSocket prostřednictvím mechanismu zásad, jsou při spuštění přeskočeny.