Partager via


Web PubSub intégration .NET AspireAzure

Dans cet article, vous allez apprendre à utiliser l’intégration .NET AspireAzure Web PubSub. La bibliothèque Aspire.Azure.Messaging.WebPubSub offre des options permettant d’inscrire un WebPubSubServiceClient dans le conteneur DI pour la connexion à Azure Web PubSub.

Conditions préalables

  • abonnement Azure : en créer un gratuitement.
  • Instance de service Web PubSub existante Azure. Pour plus d’informations, veuillez consulter la section Créer une ressource Web PubSub. Vous pouvez également utiliser une chaîne de connexion, qui n’est pas recommandée dans les environnements de production.

Démarrer

Pour commencer à utiliser l’intégration .NET AspireAzure Web PubSub, installez le package NuGet 📦Aspire.Azure.Messaging.WebPubSub dans le projet consommateur client, c’est-à-dire le projet de l'application qui utilise le Azure Web PubSub client.

dotnet add package Aspire.Azure.Messaging.WebPubSub

Pour plus d’informations, consultez dotnet add package ou Gérer les dépendances de packages dans les applications .NET.

Exemple d’utilisation

Dans le fichier Program.cs de votre projet, appelez la méthode d’extension AddAzureWebPubSubHub pour inscrire un WebPubSubServiceClient à utiliser via le conteneur d’injection de dépendances. La méthode prend un paramètre de nom de connexion.

builder.AddAzureWebPubSubServiceClient("wps");

Vous pouvez ensuite récupérer l’instance WebPubSubServiceClient à l’aide de l’injection de dépendances. Par exemple, pour récupérer le client à partir d’un service :

public class ExampleService(WebPubSubServiceClient client)
{
    // Use client...
}

Pour plus d’informations, consultez la documentation Azure.Messaging.WebPubSub.

Utilisation de l’hôte d’application

Pour ajouter support d’hébergement Web PubSub à votre , installez le . Hébergement.. WebPubSub package NuGet dans le projet hôte de l’application .

dotnet add package Aspire.Hosting.Azure.WebPubSub

Dans votre projet hôte d’application, ajoutez une connexion Web PubSub et utilisez la connexion à l’aide des méthodes suivantes :

var webPubSub = builder.AddAzureWebPubSub("wps");

var exampleService = builder.AddProject<Projects.ExampleService>()
                            .WithReference(webPubSub);

La méthode AddAzureWebPubSubHub extrait les informations de connexion à partir de la configuration de l’hôte d’application (par exemple, à partir des « secrets utilisateur ») sous la clé de configuration ConnectionStrings:wps. La méthode WithReference transmet ces informations de connexion dans une chaîne de connexion nommée wps dans le projet ExampleService. Dans le fichier Program.cs de ExampleService, la connexion peut être consommée à l’aide de :

builder.AddAzureWebPubSubServiceClient("wps");

Configuration

La bibliothèque .NET AspireAzure Web PubSub fournit plusieurs options pour configurer la connexion Azure Web PubSub en fonction des exigences et des conventions de votre projet. Notez qu’un Endpoint ou un ConnectionString est obligatoire à fournir.

Utiliser une chaîne de connexion

Lorsque vous utilisez une chaîne de connexion à partir de la section de configuration ConnectionStrings, vous pouvez fournir le nom de la chaîne de connexion lors de l’appel de builder.AddAzureWebPubSubHub():

builder.AddAzureWebPubSubServiceClient(
    "WebPubSubConnectionName",
    "your_hub_name");

Ensuite, les informations de connexion sont récupérées à partir de la section de configuration ConnectionStrings. Deux formats de connexion sont pris en charge :

Utiliser le point de terminaison de service

L’approche recommandée consiste à utiliser le point de terminaison de service, qui fonctionne avec la propriété AzureMessagingWebPubSubSettings.Credential pour établir une connexion. Si aucune information d'identification n'est configurée, la DefaultAzureCredential est utilisée.

{
  "ConnectionStrings": {
    "WebPubSubConnectionName": "https://xxx.webpubsub.azure.com"
  }
}

Chaîne de connexion

Vous pouvez également utiliser une chaîne de connexion.

{
  "ConnectionStrings": {
    "WebPubSubConnectionName": "Endpoint=https://xxx.webpubsub.azure.com;AccessKey==xxxxxxx"
  }
}

Utiliser des fournisseurs de configuration

La bibliothèque .NET AspireAzure Web PubSub prend en charge Microsoft.Extensions.Configuration. Il charge les AzureMessagingWebPubSubSettings et les WebPubSubServiceClientOptions depuis la configuration à l’aide de la clé Aspire:Azure:Messaging:WebPubSub. Considérez l’exemple appsettings.json qui configure certaines des options suivantes :

{
  "Aspire": {
    "Azure": {
      "Messaging": {
        "WebPubSub": {
          "DisableHealthChecks": true,
          "HubName": "your_hub_name"
        }
      }
    }
  }
}

Utiliser des délégués inline

Vous pouvez également passer le délégué Action<AzureMessagingWebPubSubSettings> configureSettings pour configurer certaines ou toutes les options en ligne, par exemple pour désactiver les contrôles de santé dans le code :

builder.AddAzureWebPubSubServiceClient(
    "wps",
    settings => settings.DisableHealthChecks = true);

Vous pouvez également configurer le WebPubSubServiceClientOptions à l’aide du paramètre de Action<IAzureClientBuilder<WebPubSubServiceClient, WebPubSubServiceClientOptions>> configureClientBuilder facultatif de la méthode AddAzureWebPubSubHub. Par exemple, pour définir l’ID de client pour cette client:

builder.AddAzureWebPubSubServiceClient(
    "wps",
    configureClientBuilder: clientBuilder => 
        clientBuilder.ConfigureOptions(options => options.Retry.MaxRetries = 5));

Vérifications d’intégrité

Par défaut, .NET.NET Aspire intégrations activent vérifications d’intégrité pour tous les services. Pour plus d’informations, consultez .NET.NET Aspire vue d’ensemble des intégrations.

Les solutions d'intégration .NET AspireAzure Web PubSub exposent un contrôle d'intégrité configurable qui signale en bon étatlorsque le client peut se connecter avec succès au service Web PubSub Azure.

Observabilité et télémétrie

.NET .NET Aspire intégrations configurent automatiquement les configurations de journalisation, de suivi et de métriques, parfois appelées les piliers de l’observabilité. Pour plus d’informations sur l’observabilité de l’intégration et la télémétrie, consultez .NET.NET Aspire vue d’ensemble des intégrations. Selon le service de stockage, certaines intégrations peuvent uniquement prendre en charge certaines de ces fonctionnalités. Par exemple, certaines intégrations prennent en charge la journalisation et le suivi, mais pas les métriques. Les fonctionnalités de télémétrie peuvent également être désactivées à l’aide des techniques présentées dans la section Configuration.

Exploitation forestière

L'intégration Web PubSub .NET AspireAzure utilise les catégories de journalisation suivantes :

  • Azure
  • Azure.Core
  • Azure.Identity
  • Azure.Messaging.WebPubSub

Traçage

L’intégration .NET AspireAzure Web PubSub émettra les activités de suivi suivantes à l’aide de OpenTelemetry:

  • "Azure.Messaging.WebPubSub.*"

Métriques

L’intégration .NET AspireAzure Web PubSub ne prend actuellement pas en charge les métriques par défaut en raison de limitations avec le SDK Azure pour .NET. Si ces modifications seront apportées à l’avenir, cette section sera mise à jour pour refléter ces modifications.

Voir aussi