.NET Aspire Azure Web PubSub-integratie
In dit artikel leert u hoe u de .NET AspireAzure Web PubSub-integratie gebruikt. De Aspire.Azure.Messaging.WebPubSub
-bibliotheek biedt mogelijkheden om een WebPubSubServiceClient in de DI-container te registreren voor verbinding met Azure Web PubSub.
Voorwaarden
- Azure-abonnement: gratismaken.
- Een bestaand Azure Web PubSub-service-exemplaar. Zie Een Web PubSub-resource makenvoor meer informatie. U kunt ook een verbindingsreeks gebruiken, die niet wordt aanbevolen in productieomgevingen.
Aan de slag gaan
Installeer het 📦AspireAzure.Messaging.WebPubSub NuGet-pakket in het client-verbruikende project om aan de slag te gaan met de .NET AspireAzure Web PubSub-integratie, dat wil zeggen, het project voor de toepassing die gebruikmaakt van de Azure Web PubSub-client.
dotnet add package Aspire.Azure.Messaging.WebPubSub
Zie dotnet pakket toevoegen of Pakketafhankelijkheden beheren in .NET toepassingenvoor meer informatie.
Voorbeeld van gebruik
Roep in het Program.cs bestand van uw project de AddAzureWebPubSubHub
-extensiemethode aan om een WebPubSubServiceClient
te registreren voor gebruik via de container voor afhankelijkheidsinjectie. De methode gebruikt een verbindingsnaamparameter.
builder.AddAzureWebPubSubServiceClient("wps");
Vervolgens kunt u het WebPubSubServiceClient
exemplaar ophalen met behulp van afhankelijkheidsinjectie. Als je bijvoorbeeld de client uit een service wilt ophalen:
public class ExampleService(WebPubSubServiceClient client)
{
// Use client...
}
Raadpleeg de AzureMessaging.WebPubSub-documentatievoor meer informatie.
App-hostgebruik
Als u ondersteuning voor Azure Web PubSub-hosting wilt toevoegen aan uw IDistributedApplicationBuilder, installeert u het 📦Aspire.Hosting.Azure.WebPubSub NuGet-pakket in het app-host project.
dotnet add package Aspire.Hosting.Azure.WebPubSub
Voeg in uw app-hostproject een Web PubSub-verbinding toe en gebruik de verbinding met behulp van de volgende methoden:
var webPubSub = builder.AddAzureWebPubSub("wps");
var exampleService = builder.AddProject<Projects.ExampleService>()
.WithReference(webPubSub);
De AddAzureWebPubSubHub
-methode leest verbindingsgegevens uit de configuratie van de app-host (bijvoorbeeld uit 'gebruikersgeheimen') onder de ConnectionStrings:wps
configuratiesleutel. De methode WithReference
geeft die verbindingsgegevens door aan een verbindingsreeks met de naam wps
in het ExampleService
project. In het Program.cs bestand van ExampleService
kan de verbinding worden gebruikt met behulp van:
builder.AddAzureWebPubSubServiceClient("wps");
Configuratie
De .NET AspireAzure Web PubSub-bibliotheek biedt meerdere opties voor het configureren van de Azure Web PubSub-verbinding op basis van de vereisten en conventies van uw project. Houd er rekening mee dat een Endpoint
of een ConnectionString
moet worden geleverd.
Een verbindingsreeks gebruiken
Wanneer u een verbindingsreeks uit de sectie ConnectionStrings
configuratie gebruikt, kunt u de naam van de verbindingsreeks opgeven bij het aanroepen van builder.AddAzureWebPubSubHub()
:
builder.AddAzureWebPubSubServiceClient(
"WebPubSubConnectionName",
"your_hub_name");
Vervolgens worden de verbindingsgegevens opgehaald uit de ConnectionStrings
configuratiesectie. Er worden twee verbindingsindelingen ondersteund:
Het service-eindpunt gebruiken
De aanbevolen benadering is het gebruik van het service-eindpunt, dat met de eigenschap AzureMessagingWebPubSubSettings.Credential
werkt om een verbinding tot stand te brengen. Als er geen referentie is geconfigureerd, wordt de DefaultAzureCredential gebruikt.
{
"ConnectionStrings": {
"WebPubSubConnectionName": "https://xxx.webpubsub.azure.com"
}
}
Verbindingsreeks
Er kan ook een verbindingsreeks worden gebruikt.
{
"ConnectionStrings": {
"WebPubSubConnectionName": "Endpoint=https://xxx.webpubsub.azure.com;AccessKey==xxxxxxx"
}
}
Configuratieproviders gebruiken
De .NET AspireAzure Web PubSub-bibliotheek ondersteunt Microsoft.Extensions.Configuration-. Hiermee worden de AzureMessagingWebPubSubSettings
en WebPubSubServiceClientOptions
vanuit de configuratie geladen door gebruik te maken van de Aspire:Azure:Messaging:WebPubSub
-sleutel. Bekijk het voorbeeld appsettings.json waarmee een aantal van de opties wordt geconfigureerd:
{
"Aspire": {
"Azure": {
"Messaging": {
"WebPubSub": {
"DisableHealthChecks": true,
"HubName": "your_hub_name"
}
}
}
}
}
Gebruik inline-delegaten
U kunt de Action<AzureMessagingWebPubSubSettings> configureSettings
delegate ook doorgeven om bepaalde of alle opties inline in te stellen, bijvoorbeeld om gezondheidscontroles in de code uit te schakelen.
builder.AddAzureWebPubSubServiceClient(
"wps",
settings => settings.DisableHealthChecks = true);
U kunt de WebPubSubServiceClientOptions ook instellen met behulp van de optionele Action<IAzureClientBuilder<WebPubSubServiceClient, WebPubSubServiceClientOptions>> configureClientBuilder
parameter van de methode AddAzureWebPubSubHub
. Als u bijvoorbeeld de client-id voor deze clientwilt instellen:
builder.AddAzureWebPubSubServiceClient(
"wps",
configureClientBuilder: clientBuilder =>
clientBuilder.ConfigureOptions(options => options.Retry.MaxRetries = 5));
Gezondheidscontroles
Standaard kunnen .NET.NET Aspire integraties statuscontroles voor alle services inschakelen. Zie .NET.NET Aspire overzicht van integratiesvoor meer informatie.
De .NET AspireAzure Web PubSub-integratie behandelt een configureerbare statuscontrole die als gezondrapporteert, wanneer de client succesvol verbinding kan maken met de Azure Web PubSub-service.
Waarneembaarheid en telemetrie
.NET .NET Aspire integraties stellen automatisch configuraties in voor logging, tracing en metrics, die ook wel bekendstaan als de pijlers van waarneembaarheid. Zie .NET.NET Aspire overzicht van integratieintegratiesvoor meer informatie over de waarneembaarheid en telemetrie van integraties. Afhankelijk van de back-upservice ondersteunen sommige integraties mogelijk slechts enkele van deze functies. Sommige integraties ondersteunen bijvoorbeeld logboekregistratie en tracering, maar geen metrische gegevens. Telemetriefuncties kunnen ook worden uitgeschakeld met behulp van de technieken die worden weergegeven in de sectie Configuratie.
Loggen
De .NET AspireAzure Web PubSub-integratie maakt gebruik van de volgende logboekcategorieën:
Azure
Azure.Core
Azure.Identity
Azure.Messaging.WebPubSub
Opsporing
De .NET AspireAzure Web PubSub-integratie verzendt de volgende traceringsactiviteiten met behulp van OpenTelemetry:
- Azure.Messaging.WebPubSub.*
Statistieken
De .NET AspireAzure Web PubSub-integratie biedt momenteel geen ondersteuning voor metrische gegevens vanwege beperkingen met de Azure SDK voor .NET. Als deze wijzigingen in de toekomst worden gewijzigd, wordt deze sectie bijgewerkt om deze wijzigingen weer te geven.