Megosztás a következőn keresztül:


.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

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.

Lásd még: