Uso del emulador local de Azure SignalR para el desarrollo sin servidor
Al desarrollar aplicaciones sin servidor, se proporciona un emulador local de Azure SignalR para facilitar el desarrollo y la integración locales. El emulador solo funciona para escenarios sin servidor. Para el modo Predeterminado para el que Azure SignalR Service actúa como proxy, use directamente el autohospedador de SignalR para realizar el desarrollo local. Tenga en cuenta también que el emulador solo funciona para el tipo de transporte Transitorio (el predeterminado) y no admite el tipo de transporte Persistente.
Características disponibles
- Auth
- Compatibilidad con la API de REST más reciente
- Ascendente
Importante
Las cadenas de conexión sin procesar solo aparecen en este artículo con fines de demostración.
Una cadena de conexión incluye la información de autorización necesaria para que la aplicación acceda a Azure SignalR Service. La clave de acceso dentro de la cadena de conexión es similar a una contraseña raíz para el servicio. En entornos de producción, proteja siempre las claves de acceso. Use Azure Key Vault para administrar y rotar las claves de forma segura y proteger la cadena de conexión mediante el Microsoft Entra ID y autorizar el acceso con el identificador de Microsoft Entra.
Evite distribuirlas a otros usuarios, codificarlas de forma rígida o guardarlas en un archivo de texto sin formato al que puedan acceder otros usuarios. Rote sus claves si cree que se han puesto en peligro.
Tutorial
Se usa este ejemplo sin servidor para mostrar cómo usar el emulador.
Las cadenas de conexión sin procesar solo aparecen en este artículo con fines de demostración. En entornos de producción, proteja siempre las claves de acceso. Use Azure Key Vault para administrar y rotar las claves de forma segura y proteger la cadena de conexión mediante el Microsoft Entra ID y autorizar el acceso con el identificador de Microsoft Entra.
Clonación del repositorio de ejemplo en local
git clone https://github.com/Azure/azure-functions-signalrservice-extension.git cd azure-functions-signalrservice-extension/samples/bidirectional-chat
Instalación del emulador
dotnet tool install -g Microsoft.Azure.SignalR.Emulator
O actualice el emulador a la versión preliminar más reciente si ya está instalado:
dotnet tool update -g Microsoft.Azure.SignalR.Emulator
Ejecute el emulador
asrs-emulator
para enumerar todos los comandos disponiblesInicialización de la configuración ascendente predeterminada mediante:
asrs-emulator upstream init
Crea un
settings.json
predeterminado en la carpeta actual, con unUrlTemplate
ascendente predeterminado comohttp://localhost:7071/runtime/webhooks/signalr
, que es la dirección URL del desencadenador de función local de SignalR:{ "UpstreamSettings": { "Templates": [ { "UrlTemplate": "http://localhost:7071/runtime/webhooks/signalr", "EventPattern": "*", "HubPattern": "*", "CategoryPattern": "*" } ] } }
Podría editar el archivo para que el patrón sea más restringido como, por ejemplo, cambiar
HubPattern
de*
achat
. Cuando se modifica el archivo, su cambio se carga en caliente en el emulador.Inicio del emulador
asrs-emulator start
Una vez iniciado correctamente el emulador, genera connectionString que se usará más adelante.
El emulador también proporciona opciones avanzadas cuando se inicia. Por ejemplo: use
asrs-emulator start -p 8999
para personalizar el puerto que usó el emulador. Escribaasrs-emulator start --help
para comprobar las opciones disponibles.Vaya a la subcarpeta
csharp
y cambie el nombre delocal.settings.sample.json
porlocal.settings.json
. Use el valor de ConnectionString generado por el emulador para rellenar el valor de AzureSignalRConnectionString en local.settings.json. RelleneAzureWebJobsStorage
con la cadena de conexión de almacenamiento. Por ejemplo:UseDevelopmentStorage=true
al usar el emulador de almacenamiento. Guarde el archivo y ejecute la función en la subcarpetacsharp
confunc start
.En el explorador, vaya a
http://localhost:7071/api/index
para reproducir la demo.
Pasos siguientes
En este artículo, se obtiene información sobre cómo usar SignalR Service en las aplicaciones. Consulte los artículos siguientes para obtener más información sobre SignalR Service.