Использование локального эмулятора Azure SignalR для бессерверной разработки
При разработке бессерверных приложений мы предоставляем локальный эмулятор Azure SignalR, чтобы упростить локальную разработку и интеграцию. Эмулятор работает только для бессерверных сценариев, для режима по умолчанию, который Служба Azure SignalR выступает в качестве прокси-сервера, можно напрямую использовать self-host SignalR для локальной разработки. Кроме того, обратите внимание, что эмулятор работает только для временного типа транспорта (по умолчанию) и не поддерживает тип постоянного транспорта.
Доступные возможности
- Auth
- Последняя поддержка REST API
- Восходящие
Внимание
Необработанные строка подключения отображаются в этой статье только для демонстрационных целей.
Строка подключения включает сведения о авторизации, необходимые для доступа к Служба Azure SignalR приложения. Ключ доступа в строке подключения аналогичен паролю привилегированного пользователя для службы. В рабочих средах всегда защищать ключи доступа. Используйте Azure Key Vault для безопасного управления ключами и защиты строка подключения с помощью идентификатора Microsoft Entra и авторизации доступа с помощью идентификатора Microsoft Entra.
Старайтесь не распространять ключи доступа среди других пользователей, жестко программировать их или где-то сохранять в виде обычного текста в открытом доступе для других пользователей. Меняйте свои ключи постоянно, если предполагаете, что они могут быть подобраны.
Пошаговое руководство
Мы используем этот бессерверный пример , чтобы показать, как использовать эмулятор.
Необработанные строка подключения отображаются в этой статье только для демонстрационных целей. В рабочих средах всегда защищать ключи доступа. Используйте Azure Key Vault для безопасного управления ключами и защиты строка подключения с помощью идентификатора Microsoft Entra и авторизации доступа с помощью идентификатора Microsoft Entra.
Клонирование примера репозитория в локальный
git clone https://github.com/Azure/azure-functions-signalrservice-extension.git cd azure-functions-signalrservice-extension/samples/bidirectional-chat
Установка эмулятора
dotnet tool install -g Microsoft.Azure.SignalR.Emulator
Или обновите эмулятор до последней предварительной версии, если она уже установлена:
dotnet tool update -g Microsoft.Azure.SignalR.Emulator
Запустите эмулятор
asrs-emulator
, чтобы вывести список всех доступных командИнициализация параметров вышестоящего потока по умолчанию с помощью:
asrs-emulator upstream init
Он создает значение по умолчанию в текущей папке с вышестоящим
http://localhost:7071/runtime/webhooks/signalr
UrlTemplate
значением по умолчаниюsettings.json
, что является URL-адресом для триггера локальной функции SignalR:{ "UpstreamSettings": { "Templates": [ { "UrlTemplate": "http://localhost:7071/runtime/webhooks/signalr", "EventPattern": "*", "HubPattern": "*", "CategoryPattern": "*" } ] } }
Вы можете изменить файл, чтобы сделать шаблон более ограниченным, например, изменить
HubPattern
его на*
chat
. При изменении файла его изменение загружается в эмулятор.Запуск эмулятора
asrs-emulator start
После успешного запуска эмулятора создается значение ConnectionString, которое будет использоваться позже.
Эмулятор также предоставляет дополнительные параметры при запуске, например, можно использовать
asrs-emulator start -p 8999
для настройки порта, используемого эмулятором. Введитеasrs-emulator start --help
, чтобы проверить доступные параметры.Перейдите в вложенную папку
csharp
и переименуйтеlocal.settings.json
local.settings.sample.json
ее, используйте ConnectionString, созданную эмулятором, для заполнения значения AzureSignalRConnectionString в local.settings.json. Введите строка подключенияAzureWebJobsStorage
хранилища,UseDevelopmentStorage=true
например при использовании эмулятора хранения. Сохраните файл и запустите функцию в подпапкеcsharp
.func start
В браузере перейдите к
http://localhost:7071/api/index
демонстрации.
Следующие шаги
Из этой статьи вы узнаете, как использовать Служба SignalR в приложениях. Дополнительные сведения о Служба SignalR см. в следующих статьях.
Azure SignalR Service internals (Внутренние компоненты Службы Azure SignalR)