.NET Aspire Azure Web PubSub 통합
이 문서에서는 .NET AspireAzure Web PubSub 통합을 사용하는 방법을 알아봅니다.
Aspire.Azure.Messaging.WebPubSub
라이브러리는 Azure Web PubSub에 연결하기 위한 DI 컨테이너 내에 WebPubSubServiceClient을 등록할 수 있는 옵션을 제공합니다.
필수 구성 요소
- Azure 구독: 무료만듭니다.
- 기존 Azure Web PubSub 서비스 인스턴스입니다. 자세한 내용은 Web PubSub 리소스 만들기를 참조하세요. 또는 프로덕션 환경에서 권장되지 않는 연결 문자열을 사용할 수 있습니다.
시작
.NET Aspire Azure Web PubSub 통합을 시작하려면 📦Aspire설치합니다.Azure. Messaging.WebPubSubclient-consuming 프로젝트의 NuGet 패키지( 즉, Azure Web PubSub를 사용하는 애플리케이션용 프로젝트)는 client.
dotnet add package Aspire.Azure.Messaging.WebPubSub
자세한 내용은 dotnet add package 또는 .NET 응용 프로그램에서 패키지 종속성을 관리하기.
예제 사용
프로젝트의 Program.cs 파일에서 AddAzureWebPubSubHub
확장 메서드를 호출하여 종속성 주입 컨테이너에서 사용할 수 있도록 WebPubSubServiceClient
를 등록합니다. 메서드는 연결 이름 매개 변수를 사용합니다.
builder.AddAzureWebPubSubServiceClient("wps");
그런 다음 종속성 주입을 사용하여 WebPubSubServiceClient
인스턴스를 검색할 수 있습니다. 예를 들어 서비스에서 client 검색하려면 다음을 수행합니다.
public class ExampleService(WebPubSubServiceClient client)
{
// Use client...
}
자세한 내용은 Azure및 Messaging.WebPubSub 설명서를 참조하세요.
앱 호스트 사용
IDistributedApplicationBuilder에 Azure Web PubSub 호스팅 지원을 추가하려면 📦Aspire.Hosting.Azure.WebPubSub. NuGet 패키지를 앱 호스트 프로젝트에 설치합니다.
dotnet add package Aspire.Hosting.Azure.WebPubSub
앱 호스트 프로젝트에서 Web PubSub 연결을 설정하고 다음 방법으로 연결을 활용합니다.
var webPubSub = builder.AddAzureWebPubSub("wps");
var exampleService = builder.AddProject<Projects.ExampleService>()
.WithReference(webPubSub);
AddAzureWebPubSubHub
메서드는 ConnectionStrings:wps
구성 키 아래의 앱 호스트 구성(예: "사용자 비밀")에서 연결 정보를 읽습니다.
WithReference
메서드는 해당 연결 정보를 ExampleService
프로젝트의 wps
연결 문자열에 전달합니다.
ExampleService
Program.cs 파일에서 다음을 사용하여 연결을 활용할 수 있습니다.
builder.AddAzureWebPubSubServiceClient("wps");
구성
.NET Aspire
Azure Web PubSub 라이브러리는 프로젝트의 요구 사항 및 규칙에 따라 Azure Web PubSub 연결을 구성하는 여러 옵션을 제공합니다. 필수적으로 Endpoint
또는 ConnectionString
을 제공해야 합니다.
연결 문자열 사용
ConnectionStrings
구성 섹션에서 연결 문자열을 사용하는 경우 builder.AddAzureWebPubSubHub()
호출할 때 연결 문자열의 이름을 제공할 수 있습니다.
builder.AddAzureWebPubSubServiceClient(
"WebPubSubConnectionName",
"your_hub_name");
그런 다음 ConnectionStrings
구성 섹션에서 연결 정보를 검색합니다. 두 가지 연결 형식이 지원됩니다.
서비스 엔드포인트 사용
AzureMessagingWebPubSubSettings.Credential
속성과 함께 작동하는 서비스 엔드포인트를 사용하여 연결을 설정하는 것이 좋습니다. 자격 증명이 구성되지 않은 경우 DefaultAzureCredential 사용됩니다.
{
"ConnectionStrings": {
"WebPubSubConnectionName": "https://xxx.webpubsub.azure.com"
}
}
연결 문자열
또는 연결 문자열을 사용할 수 있습니다.
{
"ConnectionStrings": {
"WebPubSubConnectionName": "Endpoint=https://xxx.webpubsub.azure.com;AccessKey==xxxxxxx"
}
}
구성 공급자 사용
Aspire:Azure:Messaging:WebPubSub
키를 사용하여 AzureMessagingWebPubSubSettings
및 WebPubSubServiceClientOptions
을 로드합니다. appsettings 예제를 고려해 보세요. 이는 몇 가지 옵션을 구성하기 위한json입니다.
{
"Aspire": {
"Azure": {
"Messaging": {
"WebPubSub": {
"DisableHealthChecks": true,
"HubName": "your_hub_name"
}
}
}
}
}
인라인 대리자 사용
Action<AzureMessagingWebPubSubSettings> configureSettings
대리자를 전달하여 코드에서 상태 검사를 사용하지 않도록 설정하는 등 일부 또는 모든 옵션을 인라인으로 설정할 수도 있습니다.
builder.AddAzureWebPubSubServiceClient(
"wps",
settings => settings.DisableHealthChecks = true);
AddAzureWebPubSubHub
메서드의 선택적 Action<IAzureClientBuilder<WebPubSubServiceClient, WebPubSubServiceClientOptions>> configureClientBuilder
매개 변수를 사용하여 WebPubSubServiceClientOptions 설정할 수도 있습니다. 예를 들어 client에 client ID를 설정하려면, 다음과 같이 하세요.
builder.AddAzureWebPubSubServiceClient(
"wps",
configureClientBuilder: clientBuilder =>
clientBuilder.ConfigureOptions(options => options.Retry.MaxRetries = 5));
건강 검사
기본적으로 .NET.NET Aspire 통합을 사용하면 모든 서비스에 대해 상태 검사를 수행할 수 있습니다. 자세한 내용은 .NET.NET Aspire 통합 개요참조하세요.
.NET Aspire Azure Web PubSub 통합은 client가 Azure Web PubSub 서비스에 성공적으로 연결될 때 정상으로 보고하는 구성 가능한 상태 검사를 제공합니다.
관찰 가능성 및 원격 분석
.NET .NET Aspire 통합은 로깅, 추적 및 메트릭 구성을 자동으로 설정하며, 이는 종종 관찰성의 핵심 요소라고도 합니다 . 통합 관찰 가능성 및 원격 분석에 대한 자세한 내용은 .NET.NET Aspire 통합 개요참조하세요. 지원 서비스에 따라 일부 통합은 이러한 기능 중 일부만 지원할 수 있습니다. 예를 들어 일부 통합은 로깅 및 추적을 지원하지만 메트릭은 지원하지 않습니다. 구성 섹션에 제시된 기술을 사용하여 원격 분석 기능을 사용하지 않도록 설정할 수도 있습니다.
로깅
.NET Aspire Azure Web PubSub 통합은 다음 로그 범주를 사용합니다.
Azure
Azure.Core
Azure.Identity
Azure.Messaging.WebPubSub
추적
.NET Aspire Azure Web PubSub 통합은 OpenTelemetry를 사용하여 다음과 같은 추적 활동을 발생시킵니다.
- "Azure.Messaging.WebPubSub.*"
측정 지표
.NET Aspire Azure Web PubSub 통합은 현재 .NETAzure SDK의 제한 사항으로 인해 기본적으로 메트릭을 지원하지 않습니다. 나중에 변경되는 경우 이 섹션은 해당 변경 내용을 반영하도록 업데이트됩니다.
또한 참조
.NET Aspire