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
- Azure předplatné: vytvořte si ho zdarma.
- Existující instance služby Azure Web PubSub. Další informace najdete v tématu Vytvoření prostředku Web PubSub. Případně můžete použít připojovací řetězec, který se nedoporučuje v produkčních prostředích.
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.csExampleService
je 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é
- Azure Web PubSub
- integrace .NET.NET Aspire
- .NET Aspire GitHub úložiště