WebSocket API importálása

A KÖVETKEZŐKRE VONATKOZIK: Fejlesztő | Alapcsomag | Alapcsomag v2 | Standard | Standard v2 | Prémium | Prémium v2

Az Azure API Management WebSocket API-megoldásával az API-közzétevők gyorsan hozzáadhatnak egy WebSocket API-t az API Managementben az Azure Portal, az Azure CLI, az Azure PowerShell és más Azure-eszközök használatával.

A WebSocket API-k az API Management hozzáférés-vezérlési szabályzatainak a kezdeti kézfogási műveletre való alkalmazásával biztosíthatók. A WebSocket API-kat az API-tesztkonzolok használatával is tesztelheti az Azure Portalon és a fejlesztői portálon. A meglévő megfigyelhetőségi képességekre építve az API Management metrikákat és naplókat biztosít a WebSocket API-k monitorozásához és hibaelhárításához.

Ebből a cikkből megtudhatja, hogyan:

  • A WebSocket átengedési folyamatának ismertetése.
  • Adjon hozzá egy WebSocket API-t az API Management-példányhoz.
  • Tesztelje a WebSocket API-t.
  • Tekintse meg a WebSocket API metrikáit és naplóit.
  • Ismerje meg a WebSocket API korlátait.

Előfeltételek

WebSocket átengedés

Az API Management támogatja a WebSocket átengedését.

A WebSocket átengedése során az ügyfélalkalmazás létrehoz egy WebSocket-kapcsolatot az API Management-átjáróval, majd kapcsolatot létesít a megfelelő háttérszolgáltatásokkal. Az API Management ezután a WebSocket ügyfél-kiszolgáló üzeneteket proxyz.

A WebSocket átengedési folyamatát bemutató ábra.

  1. Az ügyfélalkalmazás egy WebSocket kézfogási kérelmet küld az átjárónak az onHandshake művelet meghívásával.
  2. Az API Management-átjáró konfigurált szabályzatokat alkalmaz, és WebSocket-kézfogási kéréseket küld a megfelelő háttérszolgáltatásnak.
  3. A háttérszolgáltatás frissíti a WebSocket-kapcsolatot.
  4. Az átjáró a megfelelő kapcsolatot WebSocketre frissíti.
  5. A kapcsolatpár létrehozása után az API Management az ügyfélalkalmazás és a háttérszolgáltatás között küld üzeneteket oda-vissza.
  6. Az ügyfélalkalmazás üzenetet küld az átjárónak.
  7. Az átjáró továbbítja az üzenetet a háttérszolgáltatásnak.
  8. A háttérszolgáltatás üzenetet küld az átjárónak.
  9. Az átjáró továbbítja az üzenetet az ügyfélalkalmazásnak.
  10. Ha mindkét oldal megszakad, az API Management megszakítja a megfelelő kapcsolatot.

Megjegyzés:

Az ügyfél-háttérkapcsolatok egy-az-egyhez leképezésekből állnak. Ugyanazt a WebSocket-munkamenetet nem lehet több háttérrendszer között elosztani.

onHandshake művelet

A WebSocket protokoll szerint, amikor egy ügyfélalkalmazás megpróbál WebSocket-kapcsolatot létesíteni egy háttérszolgáltatással, először egy nyitó kézfogási kérést küld.

API Management minden WebSocket API-ja rendelkezik egy onHandshake művelettel. Az onHandshake egy nem módosítható, eltávolíthatatlan, automatikusan létrehozott rendszerművelet. Az onHandshake művelet lehetővé teszi, hogy az API-közzétevők elfogják ezeket a kézfogási kéréseket, és API Management-szabályzatokat alkalmazzanak rájuk.

Képernyőkép az OnHandshake képernyő példájáról.

WebSocket API hozzáadása

  1. A Azure portálon keresse meg az API Management-példányt.

  2. Az oldalsáv menüjében válassza az API-k>+ API hozzáadása lehetőséget.

  3. Az Új API definiálása területen válassza a WebSocket csempét .

  4. A párbeszédpanelen válassza a Teljes elemet, és töltse ki a szükséges űrlapmezőket.

    szakterület Leírás
    Megjelenített név A WebSocket API megjelenítendő neve.
    Név A WebSocket API nyers neve. A megjelenítendő név beírása közben automatikusan feltöltődik.
    WebSocket URL Az alap URL-cím a websocket nevével. Például: ws://example.com/your-socket-name
    URL-séma Fogadja el az alapértelmezett beállítást.
    API URL-címének utótagja Adjon hozzá egy URL-utótagot az adott API azonosításához ebben az API Management-példányban. Ennek egyedinek kell lennie ebben az API Management-példányban.
    Termékek A közzétételhez társítsa a WebSocket API-t egy termékkel.
    Átjárók WebSocket API összekapcsolása meglévő átjárókkal. A saját üzemeltetésű átjárók csak fejlesztői és prémium szintű szinteken érhetők el.
  5. Válassza a Create gombot.

A WebSocket API tesztelése

  1. Navigáljon a WebSocket API-hez.

  2. A WebSocket API-n belül válassza ki az onHandshake műveletet.

  3. A Tesztkonzol eléréséhez válassza a Teszt fület.

  4. Igény szerint adja meg a WebSocket kézfogáshoz szükséges lekérdezési sztringparamétereket.

    Képernyőkép az API tesztelési beállításairól.

  5. Válassza a Csatlakozás lehetőséget.

  6. A kapcsolat állapotának megtekintése a Kimenetben.

  7. Adja meg az értéket a Hasznos adatok mezőben.

  8. Válassza a Küldés lehetőséget.

  9. Fogadott üzenetek megtekintése a Kimenetben.

  10. Ismételje meg az előző lépéseket a különböző terhek teszteléséhez.

  11. Ha a tesztelés befejeződött, válassza a Leválasztás lehetőséget.

Metrikák és naplók megtekintése

A standard API Management és Azure Monitor funkciókkal figyelje a WebSocket API-kat:

  • API-metrikák megtekintése a Azure Monitor
  • Ha szeretné, engedélyezze a diagnosztikai beállításokat az API Management-átjáró naplóinak gyűjtéséhez és megtekintéséhez, amelyek közé tartoznak a WebSocket API-műveletek vagy a WebSocket kapcsolati naplói.

Az alábbi képernyőképen például a WebSocket API legutóbbi válaszai láthatók az 101 tábla kódjával. Ezek az eredmények azt jelzik, hogy a kérések sikeresen átváltottak a TCP-ről a WebSocket protokollra.

Képernyőkép a WebSocket API-kérelmek lekérdezési naplóiról.

Korlátozások

Az API Management WebSocket-támogatásának jelenlegi korlátozásai a következők:

  • A WebSocket API-k még nem támogatottak a használatszinten.
  • A WebSocket API-k a következő érvényes puffertípusokat támogatják az üzenetekhez: Close, BinaryFragment, BinaryMessage, UTF8Fragment és UTF8Message.
  • A set-header szabályzat jelenleg nem támogatja bizonyos jól ismert fejlécek, köztük Host fejlécek módosítását az onHandshake-kérelmekben.
  • A TLS-kézfogás során a WebSocket háttérrendszerrel az API Management ellenőrzi, hogy a kiszolgálótanúsítvány megbízható-e, és hogy az alany neve megegyezik-e a gazdagép hosztnevével. HTTP API-k esetén az API Management ellenőrzi, hogy a tanúsítvány megbízható-e, de nem ellenőrzi, hogy a gazdagépnév és az alany egyezik-e.
  • A WebSocket-kapcsolatok nem terjeszthetők és nem oszthatók ki terheléselosztással több háttérrendszer között, mert a létrehozás után minden kapcsolat egy-az-egyhez marad az ügyfél és a háttérrendszer között.

A WebSocket kapcsolati korlátait az API Management korlátai között tekintheti meg.

Nem támogatott szabályzatok

A következő szabályzatok nem támogatottak, és nem alkalmazhatók az onHandshake műveletre:

  • Mock válasz
  • Lekérés a gyorsítótárból
  • Gyorsítótárba mentés
  • Tartományközi hívások engedélyezése
  • CORS
  • JSONP
  • Kérelemmetódus beállítása
  • Törzs beállítása
  • Convert XML to JSON (XML–JSON átalakítás)
  • Convert JSON to XML (JSON–XML átalakítás)
  • XML átalakítása XSLT használatával
  • Tartalom ellenőrzése
  • Paraméterek érvényesítése
  • Fejlécek ellenőrzése
  • Állapotkód ellenőrzése

Megjegyzés:

Ha a szabályzatokat magasabb hatókörökben (például globális vagy termék) alkalmazta, és a WebSocket API örökli őket a szabályzaton keresztül, akkor a rendszer futásidőben kihagyja őket.