Lokale Azure SignalR-emulator gebruiken voor serverloze ontwikkeling
Bij het ontwikkelen van serverloze toepassingen bieden we een Lokale Emulator van Azure SignalR om de lokale ontwikkeling en integratie eenvoudiger te maken. De emulator werkt alleen voor serverloze scenario's, voor de standaardmodus die de Azure SignalR-service als proxy fungeert, kunt u signalr rechtstreeks gebruiken om lokale ontwikkeling uit te voeren. Houd er ook rekening mee dat de emulator alleen werkt voor tijdelijk transporttype (de standaardinstelling) en geen ondersteuning biedt voor permanent transporttype.
Beschikbare functies
- Auth
- Nieuwste rest API-ondersteuning
- Upstream
Belangrijk
Onbewerkte verbindingsreeks worden alleen in dit artikel weergegeven voor demonstratiedoeleinden.
Een verbindingsreeks bevat de autorisatiegegevens die nodig zijn voor uw toepassing om toegang te krijgen tot Azure SignalR Service. De toegangssleutel in de verbindingsreeks is vergelijkbaar met een hoofdwachtwoord voor uw service. Beveilig uw toegangssleutels altijd in productieomgevingen. Gebruik Azure Key Vault om uw sleutels veilig te beheren en te roteren en uw verbindingsreeks te beveiligen met behulp van Microsoft Entra-id en toegang te autoriseren met Microsoft Entra ID.
Vermijd het distribueren van toegangssleutels naar andere gebruikers, het coderen ervan of het opslaan van ze ergens in tekst zonder opmaak die toegankelijk is voor anderen. Draai uw sleutels als u denkt dat ze mogelijk zijn aangetast.
Walkthrough
We gebruiken dit serverloze voorbeeld om te laten zien hoe u de emulator gebruikt.
Onbewerkte verbindingsreeks worden alleen in dit artikel weergegeven voor demonstratiedoeleinden. Beveilig uw toegangssleutels altijd in productieomgevingen. Gebruik Azure Key Vault om uw sleutels veilig te beheren en te roteren en uw verbindingsreeks te beveiligen met behulp van Microsoft Entra-id en toegang te autoriseren met Microsoft Entra ID.
De voorbeeldopslagplaats klonen naar lokaal
git clone https://github.com/Azure/azure-functions-signalrservice-extension.git cd azure-functions-signalrservice-extension/samples/bidirectional-chat
De emulator installeren
dotnet tool install -g Microsoft.Azure.SignalR.Emulator
Of werk de emulator bij naar de nieuwste preview-versie als deze al is geïnstalleerd:
dotnet tool update -g Microsoft.Azure.SignalR.Emulator
Voer de emulator
asrs-emulator
uit om alle beschikbare opdrachten weer te gevenInit the default upstream settings using:
asrs-emulator upstream init
Er wordt een standaardwaarde
settings.json
gemaakt in de huidige map, met een standaard upstreamUrlTemplate
alshttp://localhost:7071/runtime/webhooks/signalr
, de URL voor de lokale functietrigger van SignalR:{ "UpstreamSettings": { "Templates": [ { "UrlTemplate": "http://localhost:7071/runtime/webhooks/signalr", "EventPattern": "*", "HubPattern": "*", "CategoryPattern": "*" } ] } }
U kunt het bestand bewerken om het patroon beperkter te maken, bijvoorbeeld van
HubPattern
*
.chat
Wanneer het bestand wordt gewijzigd, wordt de wijziging dynamisch geladen in de emulator.De emulator starten
asrs-emulator start
Nadat de emulator is gestart, wordt de ConnectionString gegenereerd die later moet worden gebruikt.
De emulator biedt ook geavanceerde opties bij het starten,
asrs-emulator start -p 8999
bijvoorbeeld om de poort aan te passen die door de emulator wordt gebruikt. Typasrs-emulator start --help
om de beschikbare opties te controleren.Ga naar de submap
csharp
en wijzig de naamlocal.settings.sample.json
local.settings.json
in, gebruik de ConnectionString die door de emulator is gegenereerd om de waarde van de AzureSignalRConnectionString in uw local.settings.json in te vullen.AzureWebJobsStorage
Vul uw opslag-verbindingsreeks in, bijvoorbeeldUseDevelopmentStorage=true
wanneer u opslagemulator gebruikt. Sla het bestand op en voer de functie uit in decsharp
submap metfunc start
.Navigeer in de browser naar
http://localhost:7071/api/index
afspelen met de demo.
Volgende stappen
In dit artikel leert u hoe u SignalR Service gebruikt in uw toepassingen. Raadpleeg de volgende artikelen voor meer informatie over SignalR Service.