Použití místního emulátoru Azure SignalR pro vývoj bez serveru
Při vývoji bezserverových aplikací poskytujeme místní emulátor Azure SignalR, který usnadňuje místní vývoj a integraci. Emulátor funguje jenom pro bezserverové scénáře, ve výchozím režimu, ve které služba Azure SignalR funguje jako proxy server, můžete k místnímu vývoji přímo použít signalR místního hostitele. Mějte také na paměti, že emulátor funguje jenom pro přechodný typ přenosu (výchozí typ) a nepodporuje trvalý typ přenosu.
Dostupné funkce
- Auth
- Nejnovější podpora rozhraní REST API
- Upstreamové
Důležité
Nezpracované připojovací řetězec se v tomto článku zobrazují jenom pro demonstrační účely.
Připojovací řetězec obsahuje autorizační informace potřebné pro vaši aplikaci pro přístup ke službě Azure SignalR. Přístupový klíč uvnitř připojovací řetězec je podobný kořenovému heslu pro vaši službu. V produkčních prostředích vždy chraňte přístupové klíče. Pomocí služby Azure Key Vault můžete bezpečně spravovat a obměňovat klíče a zabezpečit připojovací řetězec pomocí ID Microsoft Entra a autorizovat přístup pomocí Microsoft Entra ID.
Vyhněte se distribuci přístupových klíčů ostatním uživatelům, jejich pevnému kódování nebo jejich uložení kdekoli ve formátu prostého textu, který je přístupný ostatním uživatelům. Otočte klíče, pokud se domníváte, že mohly být ohroženy.
Názorný postup
Tuto bezserverovou ukázku používáme k zobrazení způsobu použití emulátoru.
Nezpracované připojovací řetězec se v tomto článku zobrazují jenom pro demonstrační účely. V produkčních prostředích vždy chraňte přístupové klíče. Pomocí služby Azure Key Vault můžete bezpečně spravovat a obměňovat klíče a zabezpečit připojovací řetězec pomocí ID Microsoft Entra a autorizovat přístup pomocí Microsoft Entra ID.
Klonování ukázkového úložiště do místního prostředí
git clone https://github.com/Azure/azure-functions-signalrservice-extension.git cd azure-functions-signalrservice-extension/samples/bidirectional-chat
Instalace emulátoru
dotnet tool install -g Microsoft.Azure.SignalR.Emulator
Pokud už je emulátor nainstalovaný, aktualizujte ho na nejnovější verzi Preview:
dotnet tool update -g Microsoft.Azure.SignalR.Emulator
Spuštěním emulátoru
asrs-emulator
zobrazíte seznam všech dostupných příkazů.Inicializaci výchozího upstreamového nastavení pomocí:
asrs-emulator upstream init
Vytvoří výchozí hodnotu
settings.json
do aktuální složky s výchozím upstreamemUrlTemplate
jakohttp://localhost:7071/runtime/webhooks/signalr
, což je adresa URL pro trigger místní funkce SignalR:{ "UpstreamSettings": { "Templates": [ { "UrlTemplate": "http://localhost:7071/runtime/webhooks/signalr", "EventPattern": "*", "HubPattern": "*", "CategoryPattern": "*" } ] } }
Soubor můžete upravit, aby byl vzor omezenější, například změnit
HubPattern
z*
nachat
. Po úpravě souboru se jeho změna načte do emulátoru za tepla.Spusťte emulátor.
asrs-emulator start
Po úspěšném spuštění emulátoru vygeneruje připojovací řetězec, který se použije později.
Emulátor také poskytuje pokročilé možnosti při spuštění, například můžete použít
asrs-emulator start -p 8999
k přizpůsobení portu použitého emulátoru. Zadáním zkontrolujteasrs-emulator start --help
dostupné možnosti.Přejděte do podsložky
csharp
a přejmenujtelocal.settings.sample.json
nalocal.settings.json
, použijte ConnectionString vygenerovaný emulátorem k vyplnění hodnoty AzureSignalRConnectionString v local.settings.json.AzureWebJobsStorage
Vyplňte připojovací řetězec úložiště, napříkladUseDevelopmentStorage=true
při použití emulátoru úložiště. Uložte soubor a spusťte funkci v podsložce s příponoucsharp
func start
.V prohlížeči přejděte k
http://localhost:7071/api/index
přehrávání s ukázkou.
Další kroky
V tomto článku se dozvíte, jak používat službu SignalR Service ve vašich aplikacích. Další informace o službě SignalR Najdete v následujících článcích.