Biblioteca cliente de Web PubSub de Azure WebJobs para .NET: versión 1.7.0
Esta extensión proporciona funcionalidad para recibir llamadas de webhook de Web PubSub en Azure Functions, lo que le permite escribir fácilmente funciones que responden a cualquier evento publicado en Web PubSub.
Código fuente | Paquete | Documentación de referencia de API | Documentación del producto | Ejemplos
Introducción
Instalar el paquete
Instale la extensión Web PubSub con NuGet:
dotnet add package Microsoft.Azure.WebJobs.Extensions.WebPubSub
Requisitos previos
Debe tener una suscripción de Azure y un grupo de recursos de Azure con un recurso de Web PubSub. Siga este tutorial paso a paso para crear una instancia de Azure Web PubSub.
Autenticar el cliente
Para permitir que la extensión funcione con el servicio Azure Web PubSub, deberá proporcionar un valor válido ConnectionString
.
Puede encontrar las claves del servicio Azure Web PubSub en Azure Portal.
La AzureWebJobsStorage
cadena de conexión se usa para conservar la información del punto de control de procesamiento según sea necesario, consulte Consideraciones de almacenamiento.
Para el desarrollo local, use el local.settings.json
archivo para almacenar la cadena de conexión, <connection-string>
se puede establecer WebPubSubConnectionString
en como valor predeterminado admitido en la extensión, o puede establecer nombres personalizados asignandolos con Connection = <connection-string>
en atributos de enlace de función:
{
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"<connection-string>": "Endpoint=https://<webpubsub-name>.webpubsub.azure.com;AccessKey=<access-key>;Version=1.0;"
}
}
Cuando se implementa, use la configuración de la aplicación para establecer la cadena de conexión.
Conceptos clave
Uso del enlace de entrada de Web PubSub
Siga el tutorial de enlace de entrada para obtener información sobre el uso de esta extensión para crear WebPubSubConnection
una conexión de Websockets al servicio con enlace de entrada.
Uso del enlace de salida de Web PubSub
Siga el tutorial de enlace de salida para obtener información sobre el uso de esta extensión para publicar mensajes de Web PubSub.
Uso del desencadenador web PubSub
Siga el tutorial de enlace de desencadenador para obtener información sobre cómo desencadenar una función de Azure cuando se envía un evento desde el servicio ascendente.
En Connect
los eventos y UserEvent
, la función respetará los valores devueltos para devolver el servicio. A continuación, el servicio dependerá de la respuesta para continuar la solicitud o de lo contrario. Las respuestas y eventos se emparejan. Por ejemplo, Connect
solo respetará ConnectEventResponse
o EventErrorResponse
y omitirá otras devoluciones. Cuando EventErrorResponse
se devuelve , el servicio quitará la conexión de cliente. Siga el tutorial del valor devuelto del enlace de desencadenador para obtener información sobre cómo usar el valor devuelto del desencadenador.
Ejemplos
Funciones que usan el enlace de entrada de Web PubSub
public static class WebPubSubConnectionBindingFunction
{
[FunctionName("WebPubSubConnectionBindingFunction")]
public static WebPubSubConnection Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req,
[WebPubSubConnection(Hub = "hub", UserId = "{query.userid}", Connection = "<connection-string>")] WebPubSubConnection connection)
{
Console.WriteLine("login");
return connection;
}
}
Funciones que usan el enlace de salida de Web PubSub
public static class WebPubSubOutputBindingFunction
{
[FunctionName("WebPubSubOutputBindingFunction")]
public static async Task RunAsync(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req,
[WebPubSub(Hub = "hub", Connection = "<connection-string>")] IAsyncCollector<WebPubSubAction> action)
{
await action.AddAsync(WebPubSubAction.CreateSendToAllAction("Hello Web PubSub!", WebPubSubDataType.Text));
}
}
Funciones que usan el desencadenador Web PubSub
public static class WebPubSubTriggerFunction
{
[FunctionName("WebPubSubTriggerFunction")]
public static void Run(
ILogger logger,
[WebPubSubTrigger("hub", WebPubSubEventType.User, "message")] UserEventRequest request,
string data,
WebPubSubDataType dataType)
{
logger.LogInformation("Request from: {user}, data: {data}, dataType: {dataType}",
request.ConnectionContext.UserId, data, dataType);
}
}
Funciones que usan el valor devuelto del desencadenador Web PubSub
public static class WebPubSubTriggerReturnValueFunction
{
[FunctionName("WebPubSubTriggerReturnValueFunction")]
public static UserEventResponse Run(
[WebPubSubTrigger("hub", WebPubSubEventType.User, "message")] UserEventRequest request)
{
return request.CreateResponse(BinaryData.FromString("ack"), WebPubSubDataType.Text);
}
}
Solución de problemas
Consulte Monitor Azure Functions para obtener instrucciones de solución de problemas.
Pasos siguientes
Lea la introducción a La función de Azure o cree una guía de funciones de Azure.
Contribuciones
Consulte nuestra CONTRIBUTING.md para obtener más información sobre la compilación, las pruebas y la contribución a esta biblioteca.
Este proyecto agradece las contribuciones y sugerencias. La mayoría de las contribuciones requieren que acepte un Contrato de licencia para el colaborador (CLA) que declara que tiene el derecho a concedernos y nos concede los derechos para usar su contribución. Para más información, visite cla.microsoft.com.
Este proyecto ha adoptado el Código de conducta de Microsoft Open Source. Para más información, consulte las preguntas más frecuentes del código de conducta o póngase en contacto con opencode@microsoft.com si tiene cualquier otra pregunta o comentario.
Azure SDK for .NET