Delen via


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.

  1. De voorbeeldopslagplaats klonen naar lokaal

    git clone https://github.com/Azure/azure-functions-signalrservice-extension.git
    cd azure-functions-signalrservice-extension/samples/bidirectional-chat
    
  2. 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
    
  3. Voer de emulator asrs-emulator uit om alle beschikbare opdrachten weer te geven

    Schermopname van de beschikbare opdrachten voor de emulator.

  4. Init the default upstream settings using:

    asrs-emulator upstream init
    

    Er wordt een standaardwaarde settings.json gemaakt in de huidige map, met een standaard upstream UrlTemplate 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.

  5. 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. Typ asrs-emulator start --help om de beschikbare opties te controleren.

  6. Ga naar de submap csharp en wijzig de naam local.settings.sample.jsonlocal.settings.jsonin, 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, bijvoorbeeld UseDevelopmentStorage=true wanneer u opslagemulator gebruikt. Sla het bestand op en voer de functie uit in de csharp submap met func start.

    Schermopname van de lokale serverloze functie wordt uitgevoerd.

  7. Navigeer in de browser naar http://localhost:7071/api/index afspelen met de demo.

    Schermopname van de serverloze chatdemo wordt uitgevoerd.

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.