Sdílet prostřednictvím


integrace .NET AspireAzure Web PubSub

V tomto článku se dozvíte, jak používat integraci .NET AspireAzure Web PubSub. Knihovna Aspire.Azure.Messaging.WebPubSub nabízí možnosti, jak zaregistrovat WebPubSubServiceClient v DI kontejneru pro připojení k Azure Web PubSub.

Požadavky

Začněte

Pokud chcete začít s integrací .NET AspireAzure Web PubSub, nainstalujte 📦Aspire.Azure. Messaging.WebPubSub balíček NuGet v projektu client, tj. projekt pro aplikaci, která používá Azure Web PubSub client.

dotnet add package Aspire.Azure.Messaging.WebPubSub

Další informace najdete v tématu dotnet add package nebo Správa závislostí balíčků v aplikacích .NET.

Příklad využití

V souboru Program.cs projektu zavolejte metodu rozšíření AddAzureWebPubSubHub, která zaregistruje WebPubSubServiceClient pro použití prostřednictvím kontejneru injektáže závislostí. Metoda přebírá parametr názvu připojení.

builder.AddAzureWebPubSubServiceClient("wps");

Potom můžete načíst instanci WebPubSubServiceClient pomocí injekce závislostí. Pokud chcete například načíst client ze služby:

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

Další informace naleznete v dokumentaci Messaging.WebPubSub.

Využití hostitele aplikace

Pokud chcete do svého IDistributedApplicationBuilderpřidat podporu hostování Azure Web PubSub, nainstalujte balíček NuGet 📦Aspire.Hosting.Azure.WebPubSub v projektu hostitele aplikace .

dotnet add package Aspire.Hosting.Azure.WebPubSub

V hostitelském projektu aplikace přidejte připojení Web PubSub a využijte připojení pomocí následujících metod:

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

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

Metoda AddAzureWebPubSubHub načte informace o připojení z konfigurace hostitele aplikace (například z tajných kódů uživatelů) v rámci ConnectionStrings:wps konfiguračního klíče. Metoda WithReference předá informace o připojení do připojovacího řetězce s názvem wps v projektu ExampleService. V souboru Program.csExampleServiceje možné připojení využívat pomocí:

builder.AddAzureWebPubSubServiceClient("wps");

Konfigurace

Knihovna .NET AspireAzure Web PubSub poskytuje několik možností konfigurace připojení Azure Web PubSub na základě požadavků a konvencí projektu. Všimněte si, že je nutné zadat Endpoint nebo ConnectionString.

Použijte připojovací řetězec

Při použití připojovacího řetězce z oddílu konfigurace ConnectionStrings můžete při volání builder.AddAzureWebPubSubHub()zadat název připojovacího řetězce:

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

Informace o připojení budou načteny z konfiguračního oddílu ConnectionStrings. Podporují se dva formáty připojení:

Použijte koncový bod služby

Doporučeným přístupem je použít koncový bod služby, který pracuje s vlastností AzureMessagingWebPubSubSettings.Credential pro navázání připojení. Pokud nejsou nakonfigurované žádné přihlašovací údaje, použije se DefaultAzureCredential.

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

Připojovací řetězec

Případně můžete použít připojovací řetězec.

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

Použití zprostředkovatelů konfigurace

Knihovna .NET AspireAzure Web PubSub podporuje Microsoft.Extensions.Configuration. Načte AzureMessagingWebPubSubSettings a WebPubSubServiceClientOptions z konfigurace pomocí klíče Aspire:Azure:Messaging:WebPubSub. Podívejte se na příklad nastavení aplikace.json, která konfiguruje některé z možností:

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

Použití vložených delegátů

Můžete také předat delegáta Action<AzureMessagingWebPubSubSettings> configureSettings k nastavení některých nebo všech možností přímo v kódu, například zakázat kontrolu stavu:

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

Můžete také nastavit WebPubSubServiceClientOptions pomocí volitelného parametru Action<IAzureClientBuilder<WebPubSubServiceClient, WebPubSubServiceClientOptions>> configureClientBuilder metody AddAzureWebPubSubHub. Pokud chcete například nastavit ID client pro tento client:

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

Kontroly stavu

Integrace .NET.NET Aspire ve výchozím nastavení umožňují kontroly stavu pro všechny služby. Další informace naleznete v přehledu integrací .NET.NET Aspire.

Integrační rutina .NET AspireAzure Web PubSub zpracovává a zveřejňuje konfigurovatelnou kontrolu funkčnosti. Tato kontrola hlásí, že je v pořádku, když se client může úspěšně připojit ke službě Azure Web PubSub.

Pozorovatelnost a telemetrie

.NET .NET Aspire integrace automaticky nastaví konfigurace protokolování, trasování a metrik, které se někdy označují jako pilíře pozorovatelnosti. Další informace o pozorovatelnosti a telemetrii integrace najdete v přehledu integrace .NET.NET Aspire. V závislosti na zálohovací službě můžou některé integrace podporovat pouze některé z těchto funkcí. Například některé integrace podporují protokolování a trasování, ale ne metriky. Funkce telemetrie je také možné zakázat pomocí technik uvedených v části Konfigurace.

Protokolování

Integrace .NET AspireAzure Web PubSub používá následující kategorie protokolů:

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

Trasování

Integrace .NET AspireAzure Web PubSub vygeneruje následující aktivity trasování pomocí OpenTelemetry:

  • "Azure.Messaging.WebPubSub.*"

Metriky

Integrace .NET AspireAzure Web PubSub v současné době standardně nepodporuje metriky kvůli omezením SDK Azure pro .NET. Pokud se tyto změny v budoucnu změní, bude tato část aktualizována tak, aby odrážela tyto změny.

Viz také