Problembehandlung und lokales Debuggen des Azure Web PubSub-Ereignishandlers

Wenn eine WebSocket-Verbindung mit dem Web PubSub-Dienst hergestellt wird, formuliert der Dienst eine  POST-Anforderung an den registrierten Upstream und erwartet eine HTTP-Antwort. Wir rufen den Upstream als Ereignishandler auf. Der Ereignishandler ist für die Behandlung der eingehenden Ereignisse gemäß der Web PubSub CloudEvents-Spezifikation zuständig.

Wenn der Ereignishandler lokal ausgeführt wird, kann der lokale Server nicht öffentlich zugänglich sein.

Es gibt zwei Möglichkeiten, den Datenverkehr an Ihren Localhost weiterzuleiten, einer besteht darin, localhost verfügbar zu machen, um über Tools wie ngrok, localtunnel oder TunnelRelay auf das Internet zugreifen zu können. Eine weitere Möglichkeit und auch die empfohlene Möglichkeit besteht darin, AWP-Tunnel zum Tunneln des Datenverkehrs vom Web PubSub-Dienst über das Tool zu Ihrem lokalen Server zu verwenden.

Web PubSub local tunnel tool, under the hood, richtet mehrere persistente Tunnelverbindungen (wir betrachten es als eine Art von Serververbindungen) mit dem Web PubSub-Dienst. Wenn ein Ereignis eintritt, leitet der Web PubSub-Dienst die Ereignisnachricht über die Tunnelverbindung zum lokalen Tunneltool weiter, und das lokale Tunneltool reformiert die HTTP-Anforderung und sendet die Anforderung an Ihren Upstreamserver.

Das lokale Tunneltool bietet eine lebendige Ansicht des Workflows über eine Webview-Seite. Die Webview überwacht standardmäßig den lokalen Port upstream port + 1000, und Sie können den Webview-Port mithilfe des Befehlsparameters --webviewPort <your-custom-port>anpassen.

Die Webansicht enthält vier Registerkarten:

  • Auf der Registerkarte "Client " wird ein WebSocket-Testclient bereitgestellt, um die Web pubSub zu verbinden und Daten zu senden.
  • Die Registerkarte "Web PubSub " enthält die grundlegenden Informationen zu Ihrem Web PubSub-Dienst und bettet die Live-Ablaufverfolgungsseite ein, wenn diese aktiviert ist.
  • Auf der Registerkarte "Lokaler Tunnel " werden alle Anforderungen aufgelistet, die das lokale Tunneltool auf Ihrem lokalen Server durchlaufen.
  • Auf der Registerkarte "Server " werden die grundlegenden Informationen zu Ihrem lokalen Server angezeigt. Außerdem wird ein integrierter Echoserver mit Code bereitgestellt, der dem unten gezeigten Beispielcode ähnelt.

Screenshot of showing the traffic inspection.

Folgen Sie "Entwickeln mit lokalem Tunneltool ", um das Tunneltool lokal zu installieren und auszuführen, um den Ereignishandlerserver lokal zu entwickeln.

Nächste Schritte

Erstellen Sie mithilfe dieser Ressourcen Ihre eigene Anwendung: