Verwenden des lokalen Emulators für Azure SignalR für die serverlose Entwicklung
Bei der Entwicklung serverloser Anwendungen stellen wir einen lokalen Azure SignalR-Emulator bereit, um die lokale Entwicklung und Integration zu vereinfachen. Der Emulator funktioniert nur für serverlose Szenarien, für den Standardmodus, für den der Azure SignalR-Dienst als Proxy fungiert. Sie können Self-Host SignalR direkt verwenden, um die lokale Entwicklung durchzuführen. Beachten Sie außerdem, dass der Emulator nur für den Vorübergehenden Transporttyp (Standard) funktioniert und den Persistenten Transporttyp nicht unterstützt.
Verfügbare Funktionen
- Authentifizierung
- Neueste Rest-API-Unterstützung
- Upstream
Wichtig
Unformatierte Verbindungszeichenfolgen werden in diesem Artikel nur zu Demonstrationszwecken angezeigt.
Eine Verbindungszeichenfolge enthält die Autorisierungsinformationen, die Ihre Anwendung für den Zugriff auf den Azure SignalR-Dienst benötigt. Der Zugriffsschlüssel in der Verbindungszeichenfolge ähnelt einem Stammkennwort für Ihren Dienst. Schützen Sie Ihre Zugriffsschlüssel in Produktionsumgebungen immer sorgfältig. Verwenden Sie Azure Key Vault, um Ihre Schlüssel sicher zu verwalten und zu rotieren, Ihre Verbindungszeichenfolge mithilfe von Microsoft Entra ID zu schützen und den Zugriff mit Microsoft Entra ID zu autorisieren.
Geben Sie Zugriffsschlüssel nicht an andere Benutzer weiter, vermeiden Sie das Hartcodieren, und speichern Sie die Schlüssel nicht als Klartext, auf den andere Benutzer Zugriff haben. Rotieren Sie die Schlüssel, wenn Sie glauben, dass sie möglicherweise gefährdet sind.
Exemplarische Vorgehensweise
Wir verwenden dieses serverlose Beispiel, um zu zeigen, wie der Emulator verwendet wird.
Unformatierte Verbindungszeichenfolgen werden in diesem Artikel nur zu Demonstrationszwecken angezeigt. Schützen Sie Ihre Zugriffsschlüssel in Produktionsumgebungen immer sorgfältig. Verwenden Sie Azure Key Vault, um Ihre Schlüssel sicher zu verwalten und zu rotieren, Ihre Verbindungszeichenfolge mithilfe von Microsoft Entra ID zu schützen und den Zugriff mit Microsoft Entra ID zu autorisieren.
Klonen des Beispiel-Repositorys auf lokal
git clone https://github.com/Azure/azure-functions-signalrservice-extension.git cd azure-functions-signalrservice-extension/samples/bidirectional-chat
Installieren des Emulators
dotnet tool install -g Microsoft.Azure.SignalR.Emulator
Oder aktualisieren Sie den Emulator auf die neueste Vorschauversion, wenn er bereits installiert ist:
dotnet tool update -g Microsoft.Azure.SignalR.Emulator
Ausführen des Emulators
asrs-emulator
zum Auflisten aller verfügbaren BefehleInitiieren Sie die Standard-Upstreameinstellungen mithilfe von:
asrs-emulator upstream init
Er erstellt einen Standardwert
settings.json
im aktuellen Ordner mit einem Standard-UpstreamUrlTemplate
alshttp://localhost:7071/runtime/webhooks/signalr
, der die URL für den lokalen Funktionstrigger von SignalR ist:{ "UpstreamSettings": { "Templates": [ { "UrlTemplate": "http://localhost:7071/runtime/webhooks/signalr", "EventPattern": "*", "HubPattern": "*", "CategoryPattern": "*" } ] } }
Sie können die Datei bearbeiten, damit das Muster eingeschränkter wird, z. B. dass
HubPattern
von*
zuchat
geändert wird. Wenn die Datei geändert wird, wird die Änderung in den Emulator geladen.Starten des Emulators
asrs-emulator start
Nachdem der Emulator erfolgreich gestartet wurde, wird die ConnectionString generiert, die später verwendet werden soll.
Der Emulator bietet auch erweiterte Optionen beim Start, z. B. können Sie
asrs-emulator start -p 8999
verwenden, um den vom Emulator verwendeten Port anzupassen. Geben Sieasrs-emulator start --help
ein, um die verfügbaren Optionen zu überprüfen.Wechseln Sie in den Unterordner
csharp
und benennen Sielocal.settings.sample.json
zulocal.settings.json
um. Verwenden Sie die vom Emulator generierte ConnectionString, um den Wert von AzureSignalRConnectionString in Ihrer local.settings.json auszufüllen. Tragen Sie inAzureWebJobsStorage
Ihre Speicherverbindungszeichenfolge ein, z. B.UseDevelopmentStorage=true
, wenn Sie den Speicher-Emulator verwenden. Speichern Sie die Datei und führen Sie die Funktion imcsharp
-Unterordner mitfunc start
aus.Navigieren Sie im Browser zu
http://localhost:7071/api/index
, um mit der Demo zu spielen.
Nächste Schritte
In diesem Artikel erfahren Sie, wie Sie SignalR Service in Ihren Anwendungen verwenden. Weitere Informationen zu SignalR Service finden Sie in den folgenden Artikeln.