Dela via


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.

  1. Klona exempelrepo till lokal

    git clone https://github.com/Azure/azure-functions-signalrservice-extension.git
    cd azure-functions-signalrservice-extension/samples/bidirectional-chat
    
  2. 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
    
  3. Kör emulatorn asrs-emulator för att visa en lista över alla tillgängliga kommandon

    Skärmbild av de tillgängliga kommandona för emulatorn.

  4. Ange 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öm UrlTemplate som http://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 * till chat. När filen ändras läses ändringen in i emulatorn.

  5. 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. Skriv asrs-emulator start --help för att kontrollera vilka alternativ som är tillgängliga.

  6. Gå till undermappen csharp och byt local.settings.sample.json namn på till local.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 i AzureWebJobsStorage lagrings-anslutningssträng, UseDevelopmentStorage=true till exempel när du använder lagringsemulatorn. Spara filen och kör funktionen i undermappen csharp med func start.

    Skärmbild av den lokala serverlösa funktionen som körs.

  7. I webbläsaren navigerar du till för att http://localhost:7071/api/index spela med demonstrationen.

    Skärmbild av den serverlösa chattdemo som körs.

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.