Använda lokal Azure SignalR-emulator för serverlös utveckling
När vi utvecklar serverlösa program tillhandahåller vi en lokal Azure SignalR-emulator som gör den lokala utvecklingen och integreringen enklare. Emulatorn fungerar endast för serverlösa scenarier, för standardläge som Azure SignalR Service fungerar som proxy kan du direkt använda självvärd signalR för att utföra lokal utveckling. Observera också att emulatorn endast fungerar för transient transporttyp (standardtyp) och inte stöder beständig transporttyp.
Tillgängliga funktioner
- Auth
- Senaste stöd för Rest API
- Uppströms
Viktigt!
Råa anslutningssträng visas endast i den här artikeln i demonstrationssyfte.
En anslutningssträng innehåller den auktoriseringsinformation som krävs för att ditt program ska få åtkomst till Azure SignalR Service. Åtkomstnyckeln i anslutningssträng liknar ett rotlösenord för din tjänst. Skydda alltid dina åtkomstnycklar i produktionsmiljöer. Använd Azure Key Vault för att hantera och rotera dina nycklar på ett säkert sätt och skydda dina anslutningssträng med hjälp av Microsoft Entra-ID och auktorisera åtkomst med Microsoft Entra-ID.
Undvik att distribuera åtkomstnycklar till andra användare, hårdkoda dem eller spara dem var som helst i oformaterad text som är tillgänglig för andra. Rotera dina nycklar om du tror att de har komprometterats.
Genomgång
Vi använder det här serverlösa exemplet för att visa hur du använder emulatorn.
Råa anslutningssträng visas endast i den här artikeln i demonstrationssyfte. Skydda alltid dina åtkomstnycklar i produktionsmiljöer. Använd Azure Key Vault för att hantera och rotera dina nycklar på ett säkert sätt och skydda dina anslutningssträng med hjälp av Microsoft Entra-ID och auktorisera åtkomst med Microsoft Entra-ID.
Klona exempelrepo till lokal
git clone https://github.com/Azure/azure-functions-signalrservice-extension.git cd azure-functions-signalrservice-extension/samples/bidirectional-chat
Installera emulatorn
dotnet tool install -g Microsoft.Azure.SignalR.Emulator
Eller uppdatera emulatorn till den senaste förhandsversionen om den redan är installerad:
dotnet tool update -g Microsoft.Azure.SignalR.Emulator
Kör emulatorn
asrs-emulator
för att visa en lista över alla tillgängliga kommandonAnge standardinställningarna för uppströms med hjälp av:
asrs-emulator upstream init
Den skapar en standardinställning
settings.json
i den aktuella mappen, med en standarduppströmUrlTemplate
somhttp://localhost:7071/runtime/webhooks/signalr
, vilket är URL:en för SignalR:s lokala funktionsutlösare:{ "UpstreamSettings": { "Templates": [ { "UrlTemplate": "http://localhost:7071/runtime/webhooks/signalr", "EventPattern": "*", "HubPattern": "*", "CategoryPattern": "*" } ] } }
Du kan redigera filen för att göra mönstret mer begränsat, till exempel ändra
HubPattern
från*
tillchat
. När filen ändras läses ändringen in i emulatorn.Starta emulatorn
asrs-emulator start
När emulatorn har startats genererar den ConnectionString som ska användas senare.
Emulatorn innehåller även avancerade alternativ när du startar, till exempel kan du använda
asrs-emulator start -p 8999
för att anpassa porten som emulatorn använde. Skrivasrs-emulator start --help
för att kontrollera vilka alternativ som är tillgängliga.Gå till undermappen
csharp
och bytlocal.settings.sample.json
namn på tilllocal.settings.json
, använd ConnectionString som genereras av emulatorn för att fylla i värdet för AzureSignalRConnectionString i din local.settings.json. Fyll iAzureWebJobsStorage
lagrings-anslutningssträng,UseDevelopmentStorage=true
till exempel när du använder lagringsemulatorn. Spara filen och kör funktionen i undermappencsharp
medfunc start
.I webbläsaren navigerar du till för att
http://localhost:7071/api/index
spela med demonstrationen.
Nästa steg
I den här artikeln får du lära dig hur du använder SignalR Service i dina program. Läs följande artiklar om du vill veta mer om SignalR Service.