Sdílet prostřednictvím


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.

  1. 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
    
  2. 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
    
  3. Spuštěním emulátoru asrs-emulator zobrazíte seznam všech dostupných příkazů.

    Snímek obrazovky s dostupnými příkazy pro emulátor

  4. 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 upstreamem UrlTemplate jako http://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 * na chat. Po úpravě souboru se jeho změna načte do emulátoru za tepla.

  5. 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 zkontrolujte asrs-emulator start --help dostupné možnosti.

  6. Přejděte do podsložky csharp a přejmenujte local.settings.sample.json na local.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říklad UseDevelopmentStorage=true při použití emulátoru úložiště. Uložte soubor a spusťte funkci v podsložce s příponou csharpfunc start.

    Snímek obrazovky s místní bezserverovou funkcí je spuštěná.

  7. V prohlížeči přejděte k http://localhost:7071/api/index přehrávání s ukázkou.

    Snímek obrazovky se spuštěnou ukázkou bezserverového chatu

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.