Event Grid 토픽을 관리하기 위한 이벤트 기본 이해

이벤트 도메인은 동일한 애플리케이션과 관련된 대규모 Event Grid 토픽을 관리하는 도구입니다. 수천 개의 개별 토픽이 있을 수 있는 메타 토픽으로 생각할 수 있습니다. do기본 모든 토픽에 대해 하나의 게시 엔드포인트를 제공합니다. 이벤트를 게시할 때 게시자는 게시하려는 do기본 대상 토픽을 지정해야 합니다. 게시자는 할 일에서 이벤트가 다른 토픽으로 전송되는 배열 또는 이벤트 일괄 처리를 보낼 수 기본. 자세한 내용은 이벤트 do기본 섹션에 대한 게시 이벤트를 참조하세요.

도메인 역시 각 토픽에 대한 권한 부여 및 인증 제어를 제공하므로 테넌트를 분할할 수 있습니다. 이 문서에서는 이벤트 기본 사용하여 다양한 비즈니스 조직, 고객 또는 애플리케이션으로의 사용자 지정 이벤트 흐름을 관리하는 방법을 설명합니다. 이벤트 do기본s를 사용하여 다음을 수행합니다.

  • 대규모 다중 테넌트 이벤트 아키텍처를 관리합니다.
  • 인증 및 권한 부여를 관리합니다.
  • 각 항목을 개별적으로 관리하지 않고 토픽을 분할합니다.
  • 각 토픽 엔드포인트에 개별적으로 게시하지 않습니다.

참고 항목

이벤트 do기본는 이벤트가 do기본 전송되고 do기본의 각 토픽이 이벤트의 복사본을 수신하는 브로드캐스트 시나리오를 지원하기 위한 것이 아닙니다. 이벤트를 게시할 때 게시자는 게시하려는 할 일기본 대상 토픽을 지정해야 합니다. 게시자가 do기본의 여러 토픽에 동일한 이벤트 페이로드를 게시하려는 경우 게시자는 이벤트 페이로드를 복제하고 토픽 이름을 변경하고 do기본 엔드포인트를 사용하여 개별적으로 또는 일괄 처리로 Event Grid에 게시해야 합니다.

사용 사례

이벤트 도메인을 가장 쉽게 설명하는 방법은 예제입니다. 트랙터, 굴착 장비 및 기타 중장비를 제작하는 Contoso Construction Machinery라는 회사를 운영 중이라고 가정해 보겠습니다. 비즈니스의 일부로, 여러분은 장비 유지 관리, 시스템 상태 및 계약 업데이트에 대한 실시간 정보를 고객에게 푸시합니다. 이 모든 정보는 회사 앱, 고객 엔드포인트, 고객이 설치한 기타 인프라를 비롯한 다양한 엔드포인트로 이동합니다.

이벤트 도메인을 사용하면 Contoso Construction Machinery를 단일 이벤트 엔터티로 모델링할 수 있습니다. 각 고객은 도메인 내의 토픽으로 표시됩니다. 인증 및 권한 부여는 Microsoft Entra ID를 사용하여 처리됩니다. 각 고객은 토픽을 구독하고 자신에게 전달된 이벤트를 가져올 수 있습니다. 이벤트 도메인을 통해 관리되는 액세스는 고객이 자신의 토픽에만 액세스할 수 있도록 보장합니다.

또한 모든 고객 이벤트를 게시할 수 있는 단일 엔드포인트를 제공합니다. Event Grid는 각 토픽이 해당 테넌트로 범위가 지정된 이벤트만 인식하도록 처리합니다.

Image showing an example use case for using Event Grid domains.

액세스 관리

do기본 사용하면 Azure RBAC(Azure 역할 기반 액세스 제어)를 통해 각 토픽에 대한 세분화된 권한 부여 및 인증 제어를 얻을 수 있습니다. 이러한 역할을 사용하여 애플리케이션의 각 테넌트가 액세스 권한을 부여하려는 토픽으로만 제한할 수 있습니다. 이벤트의 Azure RBAC는 기본 Event Grid 및 Azure의 나머지 지역에서 관리되는 액세스 제어가 작동하는 것과 동일한 방식으로 작동합니다. Azure RBAC를 사용하여 이벤트 수행 시 사용자 지정 역할 정의를 만들고 적용합니다기본.

기본 제공 역할

Event Grid에는 Azure RBAC를 이벤트 도메인 작업에 보다 쉽게 적용할 수 있는 두 개의 기본 제공 역할 정의가 제공됩니다. 이러한 역할은 EventGrid EventSubscription 기여자EventGrid EventSubscription 읽기 권한자입니다. 이벤트에서 토픽을 구독해야 하는 사용자에게 이러한 역할을 할당합니다기본. 역할 할당의 범위를 사용자가 구독해야 하는 토픽으로만 지정합니다. 이러한 역할에 대한 자세한 내용은 Event Grid에 대한 기본 제공 역할을 참조 하세요.

토픽 구독

이벤트 내의 토픽에 대한 이벤트를 구독하는 것은 사용자 지정 토픽에서 이벤트 구독을 만들거나 Azure 서비스에서 이벤트를 구독하는 것과 같습니다기본.

Important

Do기본 항목은 Event Grid에서 자동 관리 리소스로 간주됩니다. do기본 토픽을 만들지 않고 do기본 범위에서 이벤트 구독을 만들 수 있습니다. 이 경우 Event Grid는 도메인 토픽을 사용자 대신 자동으로 만듭니다. 물론 할 일기본 토픽을 수동으로 만들도록 선택할 수 있습니다. 이 동작을 사용하면 많은 수의 할 일기본 토픽을 처리할 때 리소스를 더 적게 걱정할 수 있습니다. 할 일기본 토픽에 대한 마지막 구독이 삭제되면 do기본 토픽도 do기본 토픽이 수동으로 만들어졌는지 또는 자동으로 만들어졌는지에 관계없이 삭제됩니다.

구독 범위 지정기본

또한 이벤트 do기본s는 할기본 범위 구독도 허용합니다. 이벤트 do기본 이벤트 구독은 이벤트가 전송되는 토픽에 관계없이 do기본 전송된 모든 이벤트를 수신합니다. Do기본 범위 구독은 관리 및 감사 목적으로 유용할 수 있습니다.

이벤트에 게시할 수 있습니다기본

이벤트를 만들 때기본 Event Grid에서 토픽을 만든 경우와 비슷한 게시 엔드포인트가 제공됩니다. 이벤트 도메인의 토픽에 이벤트를 게시하려면 사용자 지정 토픽과 같은 방법으로 도메인의 엔드포인트에 이벤트를 푸시합니다. 유일한 차이점은 이벤트를 전달할 토픽을 지정해야 한다는 것입니다. 예를 들어 다음 이벤트 배열을 게시하면 이벤트가 토픽에 "id": "1111" 전송되는 동안 토픽 foo"id": "2222" 이벤트를 보냅니 bar다.

클라우드 이벤트 스키마사용하는 경우 do기본 Event Grid 토픽의 이름을 속성 값 source 으로 지정합니다. 다음 예제 source 에서 속성은 첫 번째 이벤트와 bar 두 번째 이벤트에 대해 설정 foo 됩니다.

다른 필드를 사용하여 do기본에서 원하는 항목을 지정하려면 do기본 만들 때 입력 스키마 매핑을 지정합니다. 예를 들어 REST API를 사용하는 경우 해당 필드를 properties.topic매핑할 때 properties.inputSchemaMapping 속성을 사용합니다. .NET SDK EventGridJsonInputSchemaMapping를 사용하는 경우 . 다른 SDK도 스키마 매핑을 지원합니다.

[{
  "source": "foo",
  "id": "1111",
  "type": "maintenanceRequested",
  "subject": "myapp/vehicles/diggers",
  "time": "2018-10-30T21:03:07+00:00",
  "data": {
    "make": "Contoso",
    "model": "Small Digger"
  },
	"specversion": "1.0"
},
{
  "source": "bar",
  "id": "2222",
  "type": "maintenanceCompleted",
  "subject": "myapp/vehicles/tractors",
  "time": "2018-10-30T21:04:12+00:00",
  "data": {
    "make": "Contoso",
    "model": "Big Tractor"
  },
	"specversion": "1.0"
}]

이벤트는 기본 토픽에 게시를 처리합니다. 개별적으로 관리하는 각 토픽에 이벤트를 게시하는 대신 할 일기본 엔드포인트에 모든 이벤트를 게시할 수 있습니다. Event Grid는 각 이벤트가 올바른 토픽으로 전송되도록 합니다.

가격 책정

Event do기본s는 Event Grid의 다른 모든 기능에서 사용하는 것과 동일한 작업 가격 책정을 사용합니다. 작업은 사용자 지정 토픽에서와 기본 경우에 동일하게 작동합니다. 이벤트에 대한 이벤트의 각 수신은 작업이며기본 이벤트에 대한 각 배달 시도는 작업입니다.

다음 단계

이벤트 도메인을 설정하고, 토픽을 만들고, 이벤트 구독을 만들고, 이벤트를 게시하는 방법에 대한 자세한 내용은 이벤트 도메인 관리를 참조하세요.