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
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
- Azure Web PubSub
- intégrations .NET.NET Aspire
- .NET Aspire GitHub dépôt