Jak rozwiązywać problemy i debugować program obsługi zdarzeń usługi Azure Web PubSub lokalnie

Gdy połączenie protokołu WebSocket łączy się z usługą Web PubSub, usługa formułuje żądanie HTTP POST do zarejestrowanego nadrzędnego strumienia i oczekuje odpowiedzi HTTP. Wywołujemy nadrzędny element jako procedurę obsługi zdarzeń, a program obsługi zdarzeń jest odpowiedzialny za obsługę zdarzeń przychodzących zgodnie ze specyfikacją Web PubSub CloudEvents.

Gdy program obsługi zdarzeń jest uruchamiany lokalnie, serwer lokalny nie jest publicznie dostępny.

Istnieją dwa sposoby kierowania ruchu do hosta lokalnego. Jednym z nich jest udostępnienie hosta lokalnego w Internecie za pomocą narzędzi, takich jak ngrok, localtunnel lub TunnelRelay. Innym sposobem, a także zalecanym sposobem jest użycie tunelu awps-tunnel do tunelowania ruchu z usługi Web PubSub za pośrednictwem narzędzia do serwera lokalnego.

Lokalne narzędzie tunelu Web PubSub, pod maską, ustanawia kilka trwałych połączeń tunelu (uważamy go za jeden typ połączeń serwera) z usługą Web PubSub. Za każdym razem, gdy wystąpi zdarzenie, usługa Web PubSub kieruje komunikat zdarzenia przez połączenie tunelu z lokalnym narzędziem tunelu, a lokalne narzędzie tunelu reformuje żądanie HTTP i wysyła żądanie do serwera nadrzędnego.

Narzędzie tunelu lokalnego zapewnia żywy widok przepływu pracy za pośrednictwem strony widoku internetowego. Widok internetowy domyślnie nasłuchuje na porcie upstream port + 1000lokalnym i można dostosować port webview przy użyciu parametru --webviewPort <your-custom-port>polecenia .

Widok internetowy zawiera cztery karty:

  • Karta Klient udostępnia testowego klienta protokołu WebSocket w celu nawiązania połączenia z usługą Web PubSub i wysyłania danych.
  • Karta Web PubSub zawiera podstawowe informacje o usłudze Web PubSub i osadza stronę śledzenia na żywo, jeśli jest włączona.
  • Karta Tunel lokalny zawiera listę wszystkich żądań przechodzących przez narzędzie tunelu lokalnego do serwera lokalnego.
  • Karta Serwer zawiera podstawowe informacje o serwerze lokalnym. Udostępnia on również wbudowany serwer echo z kodem podobnym do przykładowego kodu pokazanego poniżej.

Screenshot of showing the traffic inspection.

Postępuj zgodnie z instrukcjami Programowanie za pomocą lokalnego narzędzia tunelowania, aby zainstalować i uruchomić narzędzie tunelu lokalnie, aby utworzyć serwer obsługi zdarzeń lokalnie.

Następne kroki

Użyj tych zasobów, aby rozpocząć tworzenie własnej aplikacji: