Bibliothèque cliente Azure WebJobs Web PubSub pour .NET - version 1.7.0

Cette extension fournit des fonctionnalités pour recevoir des appels webhook Web PubSub dans Azure Functions, ce qui vous permet d’écrire facilement des fonctions qui répondent à n’importe quel événement publié sur Web PubSub.

Code source | Package | Documentation de référence de l’API | Documentation du produit | Exemples

Prise en main

Installer le package

Installez l’extension Web PubSub avec NuGet :

dotnet add package Microsoft.Azure.WebJobs.Extensions.WebPubSub

Prérequis

Vous devez disposer d’un abonnement Azure et d’un groupe de ressources Azure avec une ressource Web PubSub. Suivez ce tutoriel pas à pas pour créer un instance Azure Web PubSub.

Authentifier le client

Pour que l’extension fonctionne avec le service Azure Web PubSub, vous devez fournir un .ConnectionString

Vous trouverez les clés du service Azure Web PubSub dans le portail Azure.

La AzureWebJobsStorage chaîne de connexion est utilisée pour conserver les informations de point de contrôle de traitement requises en référence aux considérations relatives au stockage

Pour le développement local, utilisez le local.settings.json fichier pour stocker la chaîne de connexion, <connection-string> peut être défini sur WebPubSubConnectionString par défaut pris en charge dans l’extension, ou vous pouvez définir des noms personnalisés en le mappant avec Connection = <connection-string> dans les attributs de liaison de fonction :

{
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "<connection-string>": "Endpoint=https://<webpubsub-name>.webpubsub.azure.com;AccessKey=<access-key>;Version=1.0;"
  }
}

Lors du déploiement, utilisez les paramètres de l’application pour définir la chaîne de connexion.

Concepts clés

Utilisation de la liaison d’entrée Web PubSub

Suivez le tutoriel de liaison d’entrée pour en savoir plus sur l’utilisation de cette extension pour la génération WebPubSubConnection afin de créer une connexion Websockets au service avec une liaison d’entrée.

Utilisation de la liaison de sortie Web PubSub

Suivez le tutoriel de liaison de sortie pour en savoir plus sur l’utilisation de cette extension pour la publication de messages Web PubSub.

Utilisation du déclencheur Web PubSub

Suivez le tutoriel de liaison de déclencheur pour en savoir plus sur le déclenchement d’une fonction Azure lorsqu’un événement est envoyé à partir de amont de service.

Dans Connect les événements et UserEvent , la fonction respecte les valeurs de retour pour renvoyer le service. Ensuite, le service dépend de la réponse pour poursuivre la demande ou bien. Les réponses et les événements sont associés. Par exemple, Connect respecte ConnectEventResponse uniquement ou EventErrorResponse, et ignore les autres retours. Quand EventErrorResponse est retourné, le service supprime la connexion cliente. Suivez le tutoriel sur la valeur de retour de liaison de déclencheur pour en savoir plus sur l’utilisation de la valeur de retour du déclencheur.

Exemples

Fonctions qui utilisent la liaison d’entrée 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;
    }
}

Fonctions qui utilisent la liaison de sortie 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));
    }
}

Fonctions qui utilisent le déclencheur 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);
    }
}

Fonctions qui utilisent la valeur de retour du déclencheur 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);
    }
}

Dépannage

Reportez-vous à Monitor Azure Functions pour obtenir des conseils de résolution des problèmes.

Étapes suivantes

Lisez l’introduction d’Azure Function ou la création d’un guide de fonction Azure.

Contribution

Consultez notre CONTRIBUTING.md pour plus d’informations sur la création, le test et la contribution à cette bibliothèque.

Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez réellement, les droits d’utilisation de votre contribution. Pour plus d’informations, consultez cla.microsoft.com.

Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.

Impressions