Import rozhraní WEBSocket API
PLATÍ PRO: Vývojář | Základní | Basic v2 | Standardní | Standard v2 | Prémie
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.
Poznámka:
V současné době tato funkce není dostupná v pracovních prostorech.
Rozhraní API protokolu WebSocket můžete zabezpečit použitím existujících zásad řízení přístupu, jako je ověřování JWT. 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
Průchod protokolu WebSocket
API Management podporuje předávání Protokolu WebSocket.
Během průchodu protokolu WebSocket klientská aplikace vytvoří 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 proxy serverem odesílá zprávy klienta-serveru WebSocket.
- Klientská aplikace odešle požadavek metody handshake protokolu WebSocket do brány APIM, která vyvolá operaci onHandshake.
- Brána APIM odešle požadavek metody handshake protokolu WebSocket do odpovídající back-endové služby.
- Back-endová služba upgraduje připojení na WebSocket.
- Brána APIM upgraduje odpovídající připojení k WebSocketu.
- Po navázání páru připojení zprostředkuje služba APIM zprávy mezi klientskou aplikací a back-endovou službou.
- Klientská aplikace odesílá zprávu do brány APIM.
- Brána APIM předá zprávu back-endové službě.
- Back-endová služba odešle zprávu do brány APIM.
- Brána APIM předá zprávu klientské aplikaci.
- Když se obě strany odpojí, rozhraní APIM ukončí odpovídající připojení.
Poznámka:
Připojení na straně klienta a back-endu se skládají z mapování 1:1.
onHandshake – operace
Na protokol WebSocket, když se klientská aplikace pokusí navázat připojení WebSocket s back-endovou službou, nejprve odešle žádost o otevření metody handshake. Každé rozhraní API protokolu WebSocket ve službě API Management má operaci onHandshake. onHandshake je neměnná, neměnitelná, 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řidání rozhraní WEBSocket API
-
- Na webu Azure Portal přejděte k vaší instanci služby API Management.
V nabídce vlevo vyberte rozhraní API> + Přidat rozhraní API.
V části Definovat nové rozhraní API vyberte WebSocket.
V dialogovém okně vyberte Úplné a vyplňte požadovaná pole formuláře.
Pole Description 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 Základní adresa URL s názvem websocket. 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 služby API Management. Musí být v této instanci APIM jedinečná. 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. Klikněte na Vytvořit.
Testování rozhraní WEBSocket API
Přejděte k rozhraní WEBSocket API.
V rozhraní API WebSocket vyberte operaci onHandshake.
Vyberte kartu Test pro přístup ke konzole test.
Volitelně můžete zadat parametry řetězce dotazu požadované pro metodu handshake protokolu WebSocket.
Klepněte na tlačítko Připojit.
Zobrazení stavu připojení ve výstupu
Zadejte hodnotu do datové části.
Klepněte na tlačítko Odeslat.
Zobrazení přijatých zpráv ve výstupu
Opakováním předchozích kroků otestujte různé datové části.
Po dokončení testování vyberte Odpojit.
Zobrazení metrik a protokolů
K monitorování rozhraní API WebSocket API použijte standardní funkce SLUŽBY API služby Api management a 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.
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.
Omezení
Níže najdete aktuální omezení podpory protokolu WebSocket ve službě API Management:
- Rozhraní API protokolu WebSocket se zatím ve vrstvě Consumption nepodporují.
- Rozhraní API protokolu WebSocket podporují následující platné typy vyrovnávací paměti 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 metody handshake protokolu TLS s back-endem Protokolu WebSocket služba API Management ověří, jestli je certifikát serveru důvěryhodný a že jeho název subjektu odpovídá názvu 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:
- Napodobení odpovědi
- Získání z mezipaměti
- Uložit do mezipaměti
- Povolit volání mezi doménou
- CORS
- JSONP
- Nastavení metody požadavku
- Set body (Nastavit text)
- 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ěření stavových kódů
Poznámka:
Pokud jste zásady použili ve vyšších oborech (tj. v globálním oboru nebo produktu) a zdědili je prostřednictvím zásad rozhraní API webSocketu, přeskočí se za běhu.
Příbuzná témata
- Omezení importu rozhraní API
- Import specifikace OpenAPI
- Import rozhraní API protokolu SOAP
- Import rozhraní API protokolu SOAP a převod na REST
- Import rozhraní API služby App Service
- Import rozhraní API kontejnerové aplikace
- Import rozhraní WEBSocket API
- Import rozhraní GraphQL API
- Import schématu GraphQL a nastavení překladačů polí
- Import aplikace Azure Function App
- Import aplikace logiky Azure
- Import služby Service Fabric
- Import rozhraní API Azure OpenAI
- Import rozhraní OData API
- Import metadat SAP OData
- Import rozhraní API gRPC
- Úprava rozhraní API