Udostępnij za pośrednictwem


Korzystanie z lokalnego emulatora usługi Azure SignalR na potrzeby programowania bezserwerowego

Podczas tworzenia aplikacji bezserwerowych udostępniamy lokalny emulator usługi Azure SignalR, aby ułatwić tworzenie i integrację lokalną. Emulator działa tylko w przypadku scenariuszy bezserwerowych, w trybie domyślnym , że usługa Azure SignalR Service działa jako serwer proxy, możesz bezpośrednio użyć własnego hosta SignalR do lokalnego programowania. Należy również pamiętać, że emulator działa tylko w przypadku przejściowego typu transportu (domyślnego) i nie obsługuje typu transportu trwałego.

Dostępne funkcje

  • Auth
  • Najnowsza obsługa interfejsu API REST
  • W górę

Ważne

Nieprzetworzone parametry połączenia są wyświetlane tylko w tym artykule w celach demonstracyjnych.

Parametry połączenia zawiera informacje o autoryzacji wymagane do uzyskania dostępu do usługi Azure SignalR Service przez aplikację. Klucz dostępu wewnątrz parametry połączenia jest podobny do hasła głównego usługi. W środowiskach produkcyjnych zawsze chroń klucze dostępu. Usługa Azure Key Vault umożliwia bezpieczne zarządzanie kluczami i obracanie ich oraz zabezpieczanie parametry połączenia przy użyciu identyfikatora Entra firmy Microsoft i autoryzowania dostępu za pomocą identyfikatora Entra firmy Microsoft.

Unikaj dystrybuowania kluczy dostępu do innych użytkowników, kodowania ich lub zapisywania ich w dowolnym miejscu w postaci zwykłego tekstu, który jest dostępny dla innych użytkowników. Obracanie kluczy, jeśli uważasz, że mogły one zostać naruszone.

Przewodnik

W tym przykładzie bezserwerowym pokazano, jak używać emulatora.

Nieprzetworzone parametry połączenia są wyświetlane tylko w tym artykule w celach demonstracyjnych. W środowiskach produkcyjnych zawsze chroń klucze dostępu. Usługa Azure Key Vault umożliwia bezpieczne zarządzanie kluczami i obracanie ich oraz zabezpieczanie parametry połączenia przy użyciu identyfikatora Entra firmy Microsoft i autoryzowania dostępu za pomocą identyfikatora Entra firmy Microsoft.

  1. Klonowanie przykładowego repozytorium do lokalnego

    git clone https://github.com/Azure/azure-functions-signalrservice-extension.git
    cd azure-functions-signalrservice-extension/samples/bidirectional-chat
    
  2. Instalowanie emulatora

    dotnet tool install  -g Microsoft.Azure.SignalR.Emulator
    

    Lub zaktualizuj emulator do najnowszej wersji zapoznawczej, jeśli jest już zainstalowany:

    dotnet tool update -g Microsoft.Azure.SignalR.Emulator
    
  3. Uruchom emulator asrs-emulator , aby wyświetlić listę wszystkich dostępnych poleceń

    Zrzut ekranu przedstawiający dostępne polecenia emulatora.

  4. Inicjowanie domyślnych ustawień nadrzędnych przy użyciu:

    asrs-emulator upstream init
    

    Spowoduje to utworzenie wartości domyślnej settings.json w bieżącym folderze z domyślnym nadrzędnym elementem UrlTemplatehttp://localhost:7071/runtime/webhooks/signalr, który jest adresem URL wyzwalacza funkcji lokalnej usługi SignalR:

    {
    "UpstreamSettings": {
        "Templates": [
        {
            "UrlTemplate": "http://localhost:7071/runtime/webhooks/signalr",
            "EventPattern": "*",
            "HubPattern": "*",
            "CategoryPattern": "*"
        }
        ]
    }
    }
    

    Możesz edytować plik, aby wzorzec był bardziej ograniczony, na przykład zmienić HubPattern wartość z * na chat. Po zmodyfikowaniu pliku jego zmiana jest ładowana na gorąco do emulatora.

  5. Uruchamianie emulatora

    asrs-emulator start
    

    Po pomyślnym uruchomieniu emulatora wygeneruje on ciąg ConnectionString do późniejszego użycia.

    Emulator udostępnia również opcje zaawansowane po uruchomieniu, na przykład można użyć asrs-emulator start -p 8999 do dostosowania portu używanego emulatora. Wpisz , asrs-emulator start --help aby sprawdzić dostępne opcje.

  6. Przejdź do podfolderu csharp i zmień nazwę local.settings.sample.json na local.settings.json, użyj parametru ConnectionString wygenerowanego przez emulator, aby wypełnić wartość elementu AzureSignalRConnectionString w local.settings.json. Wypełnij parametry połączenia AzureWebJobsStorage magazynu, na przykład UseDevelopmentStorage=true podczas korzystania z emulatora magazynu. Zapisz plik i uruchom funkcję w csharp podfolderze za pomocą polecenia func start.

    Zrzut ekranu przedstawiający uruchomioną lokalną funkcję bezserwerową.

  7. W przeglądarce przejdź do strony , aby http://localhost:7071/api/index zagrać z pokazem.

    Zrzut ekranu przedstawiający pokaz czatu bezserwerowego jest uruchomiony.

Następne kroki

Z tego artykułu dowiesz się, jak używać usługi SignalR Service w aplikacjach. Zapoznaj się z następującymi artykułami, aby dowiedzieć się więcej o usłudze SignalR Service.