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 EventErrorResponsee 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.

Impressões