.NET Aspire Azure Web PubSub integrációja
Ebből a cikkből megtudhatja, hogyan használhatja a .NET AspireAzure Web PubSub-integrációt. A Aspire.Azure.Messaging.WebPubSub
-kódtár lehetővé teszi egy WebPubSubServiceClient regisztrálását a DI-tárolóban a Azure Web PubSubvaló csatlakozáshoz.
Előfeltételek
- Azure előfizetés: hozzon létre egyet ingyenesen.
- Egy meglévő Azure Web PubSub szolgáltatási példány. További információ: Web PubSub-erőforrás létrehozása. Alternatívaként használhat karakterláncot is, amely éles környezetben nem ajánlott.
Kezdjük el
A .NET AspireAzure Web PubSub integráció megkezdéséhez telepítse a 📦Aspire.Azure.Messaging.WebPubSub NuGet-csomagot az ügyfeloldali projektben, azaz abban a projektben, amely a Azure Web PubSub-ügyfelet használó alkalmazást tartalmazza.
dotnet add package Aspire.Azure.Messaging.WebPubSub
További információért lásd a(z) dotnet add package vagy a(z) csomagfüggőségek kezelése .NET alkalmazásokban.
Példa használatra
A projekt Program.cs fájljában hívja meg a AddAzureWebPubSubHub
bővítménymetódust, hogy regisztráljon egy WebPubSubServiceClient
a függőséginjektálási tárolón keresztül történő használatra. A metódus egy kapcsolatnévparamétert használ.
builder.AddAzureWebPubSubServiceClient("wps");
Ezután függőséginjektálással lekérheti a WebPubSubServiceClient
-példányt. Például az ügyfél adatainak lekérése egy szolgáltatásból:
public class ExampleService(WebPubSubServiceClient client)
{
// Use client...
}
További információért tekintse meg a Azure.Messaging.WebPubSub dokumentációját.
Alkalmazásgazda használata
Ha Azure Web PubSub hosting támogatást szeretne hozzáadni a IDistributedApplicationBuilder-hez, telepítse a 📦Aspire.Hosting.Azure.WebPubSub NuGet csomagot az alkalmazás hoszt projektben.
dotnet add package Aspire.Hosting.Azure.WebPubSub
Az alkalmazásgazdaprojektben adjon hozzá egy Web PubSub-kapcsolatot, és használja a kapcsolatot a következő módszerekkel:
var webPubSub = builder.AddAzureWebPubSub("wps");
var exampleService = builder.AddProject<Projects.ExampleService>()
.WithReference(webPubSub);
A AddAzureWebPubSubHub
metódus beolvassa a kapcsolati adatokat az alkalmazás gazdagépének konfigurációjából (például a "felhasználói titkos kódokból") a ConnectionStrings:wps
konfigurációs kulcs alatt. A WithReference
metódus a kapcsolati adatokat egy wps
nevű kapcsolati sztringbe továbbítja a ExampleService
projektben. A ExampleService
fájljában a kapcsolatot a következő használatával lehet felhasználni:
builder.AddAzureWebPubSubServiceClient("wps");
Konfiguráció
A .NET AspireAzure Web PubSub-kódtár több lehetőséget is kínál a Azure Web PubSub-kapcsolat konfigurálására a projekt követelményei és konvenciói alapján. Vegye figyelembe, hogy egy Endpoint
vagy egy ConnectionString
kell megadni.
Kapcsolati karakterlánc használata
Ha kapcsolati sztringet használ a ConnectionStrings
konfigurációs szakaszból, megadhatja a kapcsolati sztring nevét builder.AddAzureWebPubSubHub()
hívásakor:
builder.AddAzureWebPubSubServiceClient(
"WebPubSubConnectionName",
"your_hub_name");
Ezután lekérjük a kapcsolati adatokat a ConnectionStrings
konfigurációs szakaszból. Két kapcsolatformátum támogatott:
A szolgáltatásvégpont használata
Az ajánlott módszer a szolgáltatásvégpont használata, amely a AzureMessagingWebPubSubSettings.Credential
tulajdonsággal együttműködve hoz létre kapcsolatot. Ha nincs hitelesítő adat konfigurálva, a rendszer a DefaultAzureCredential használja.
{
"ConnectionStrings": {
"WebPubSubConnectionName": "https://xxx.webpubsub.azure.com"
}
}
Kapcsolati karakterlánc
Másik lehetőségként kapcsolati sztring is használható.
{
"ConnectionStrings": {
"WebPubSubConnectionName": "Endpoint=https://xxx.webpubsub.azure.com;AccessKey==xxxxxxx"
}
}
Konfigurációs szolgáltatók használata
A .NET AspireAzure Web PubSub könyvtár támogatja a Microsoft.Extensions.Configuration-t. Betölti a konfigurációból a AzureMessagingWebPubSubSettings
és WebPubSubServiceClientOptions
értékeit a Aspire:Azure:Messaging:WebPubSub
kulcs használatával. Vegyük példaként az appsettings.json, amely konfigurál néhány lehetőséget:
{
"Aspire": {
"Azure": {
"Messaging": {
"WebPubSub": {
"DisableHealthChecks": true,
"HubName": "your_hub_name"
}
}
}
}
}
Beágyazott delegátumok használata
A Action<AzureMessagingWebPubSubSettings> configureSettings
delegátumot is átadhatja a beállítások egy részének vagy egészének közvetlen konfigurálására, például kódból letilthatja az állapotellenőrzéseket.
builder.AddAzureWebPubSubServiceClient(
"wps",
settings => settings.DisableHealthChecks = true);
A WebPubSubServiceClientOptions a Action<IAzureClientBuilder<WebPubSubServiceClient, WebPubSubServiceClientOptions>> configureClientBuilder
metódus opcionális AddAzureWebPubSubHub
paraméterével is beállíthatja. Például az ügyfél ügyfélazonosítójának beállításához:
builder.AddAzureWebPubSubServiceClient(
"wps",
configureClientBuilder: clientBuilder =>
clientBuilder.ConfigureOptions(options => options.Retry.MaxRetries = 5));
Client integrációs egészségügyi ellenőrzések
Alapértelmezés szerint .NET.NET Aspireügyfélintegrációkállapotellenőrzések engedélyezve vannak az összes szolgáltatáshoz. Hasonlóképpen számos .NET.NET Aspireüzemeltetési integráció is lehetővé teszi az állapot-ellenőrzési végpontokat. További információ:
A .NET AspireAzure Web PubSub integrációs kezelője egy konfigurálható állapotellenőrzést tesz elérhetővé, amely kifogástalan állapotújelent, amikor az ügyfél sikeresen csatlakozhat a Azure Web PubSub szolgáltatáshoz.
Megfigyelhetőség és telemetria
.NET .NET Aspire integrációk automatikusan beállítják a naplózási, nyomkövetési és metrikakonfigurációkat, amelyeket más néven a megfigyelhetőség alappillérei. Az integráció megfigyelhetőségéről és telemetriáról további információt .NET.NET Aspire integrációk áttekintésében. A háttérszolgáltatástól függően egyes integrációk csak bizonyos funkciókat támogatnak. Egyes integrációk például támogatják a naplózást és a nyomkövetést, a metrikákat azonban nem. A telemetriai funkciók a Konfiguráció szakaszban ismertetett technikákkal is letilthatók.
Fakitermelés
A .NET AspireAzure Web PubSub-integráció a következő naplókategóriákat használja:
Azure
Azure.Core
Azure.Identity
Azure.Messaging.WebPubSub
Nyomkövetés
A .NET AspireAzure Web PubSub integrációja a következő nyomkövetési tevékenységeket bocsátja ki a OpenTelemetryhasználatával:
- "Azure.Messaging.WebPubSub.*"
Metrikák
A .NET AspireAzure Web PubSub integrációja jelenleg nem támogatja alapértelmezés szerint a metrikákat a Azure.NET SDK korlátozásai miatt. Ha ezek a változások a jövőben változnak, ez a szakasz a változásoknak megfelelően frissül.