Biblioteca de clientes do Azure WebJobs Web PubSub para .NET – versão 1.7.0
Essa extensão fornece funcionalidade para receber chamadas de webhook do Web PubSub em Azure Functions, permitindo que você escreva facilmente funções que respondem a qualquer evento publicado no Web PubSub.
Código-fonte | Pacote | Documentação de referência da API | Documentação do produto | Exemplos
Introdução
Instalar o pacote
Instale a extensão do Web PubSub com o NuGet:
dotnet add package Microsoft.Azure.WebJobs.Extensions.WebPubSub
Pré-requisitos
Você deve ter uma assinatura do Azure e um grupo de recursos do Azure com um recurso do Web PubSub. Siga este tutorial passo a passo para criar uma instância do Azure Web PubSub.
Autenticar o cliente
Para permitir que a extensão funcione com o serviço Azure Web PubSub, você precisará fornecer um válido ConnectionString
.
Você pode encontrar as Chaves para o serviço Azure Web PubSub no Portal do Azure.
A AzureWebJobsStorage
cadeia de conexão é usada para preservar as informações de ponto de verificação de processamento, conforme necessário, consulte Considerações de armazenamento
Para o desenvolvimento local, use o local.settings.json
arquivo para armazenar a cadeia de conexão, <connection-string>
pode ser definido WebPubSubConnectionString
como como padrão com suporte na extensão ou você pode definir nomes personalizados mapeando-o com Connection = <connection-string>
atributos de associação de função:
{
"Values": {
"AzureWebJobsStorage": "UseDevelopmentStorage=true",
"<connection-string>": "Endpoint=https://<webpubsub-name>.webpubsub.azure.com;AccessKey=<access-key>;Version=1.0;"
}
}
Quando implantado, use as configurações do aplicativo para definir a cadeia de conexão.
Principais conceitos
Usando a associação de entrada do Web PubSub
Siga o tutorial de associação de entrada para saber mais sobre como usar essa extensão para WebPubSubConnection
criar a conexão websockets com o serviço com associação de entrada.
Usando a associação de saída do Web PubSub
Siga o tutorial de associação de saída para saber mais sobre como usar essa extensão para publicar mensagens do Web PubSub.
Usando o gatilho Do Web PubSub
Siga o tutorial de associação de gatilho para saber mais sobre como disparar uma Função do Azure quando um evento é enviado do serviço upstream.
Em Connect
eventos e UserEvent
, a função respeitará os valores retornados para enviar o serviço de volta. Em seguida, o serviço dependerá da resposta para continuar a solicitação ou então. As respostas e os eventos são emparelhados. Por exemplo, Connect
só respeitará ConnectEventResponse
ou EventErrorResponse
e ignorará outros retornos. Quando EventErrorResponse
é retornado, o serviço removerá a conexão do cliente. Siga o tutorial de valor retornado da associação de gatilho para saber mais sobre como usar o valor retornado do gatilho.
Exemplos
Funções que usam associação de entrada do 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;
}
}
Funções que usam a associação de saída do 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));
}
}
Funções que usam o gatilho 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);
}
}
Funções que usam o valor retornado do gatilho 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);
}
}
Solução de problemas
Consulte Monitorar Azure Functions para obter diretrizes de solução de problemas.
Próximas etapas
Leia a introdução ao Azure Function ou crie um guia de funções do Azure.
Participante
Confira nosso CONTRIBUTING.md para obter detalhes sobre como criar, testar e contribuir para essa biblioteca.
Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder, e de fato concede, os direitos de usar sua contribuição. Para obter detalhes, visite cla.microsoft.com.
Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.
Azure SDK for .NET