다음을 통해 공유


네임스페이스 항목을 사용하여 Azure Event Hubs에 이벤트 전달 - Azure Portal

이 문서에서는 CloudEvents JSON 형식으로 이벤트를 Azure Event Grid에 게시하고 푸시 배달 모델을 사용하여 해당 이벤트를 배달하는 단계별 지침을 제공합니다.

구체적으로 말하면 Azure Portal 및 Curl을 사용하여 Event Grid의 네임스페이스 토픽에 이벤트를 게시하고 이벤트 구독에서 Event Hubs 처리기 대상으로 해당 이벤트를 푸시합니다. 푸시 배달 모델에 대한 자세한 내용은 푸시 배달 개요를 참조하세요.

Azure를 구독하고 있지 않다면 시작하기 전에 Azure 체험 계정을 만듭니다.

Event Grid 네임스페이스 만들기

Event Grid 네임스페이스는 이벤트를 게시할 사용자 정의 엔드포인트를 제공합니다. 다음 예제에서는 Azure Cloud Shell의 Bash를 사용하여 리소스 그룹에 네임스페이스를 만듭니다. 네임스페이스 이름은 DNS(Domain Name System) 항목의 일부이므로 고유해야 합니다.

  1. Azure Portal로 이동합니다.

  2. 항목의 검색 창에 Event Grid Namespaces를 입력하고 결과에서 Event Grid Namespaces를 선택합니다.

    Azure Portal의 검색 창을 보여 주는 스크린샷.

  3. Event Grid 네임스페이스 페이지의 명령 모음에서 + 만들기를 선택합니다. 명령 모음에서 만들기 단추가 선택된 Event Grid 네임스페이스 페이지를 보여 주는 스크린샷.

  4. 네임스페이스 만들기 페이지에서 다음 단계를 수행합니다.

    1. 네임스페이스를 만들려는 Azure 구독을 선택합니다.
    2. 새로 만들기를 선택하여 새 리소스 그룹을 만들거나 기존 리소스 그룹을 선택합니다.
    3. 네임스페이스의 이름을 입력합니다.
    4. 리소스 그룹을 만들려는 위치를 선택합니다.
    5. 그런 다음 검토 + 만들기를 선택합니다.
      네임스페이스 만들기 페이지를 보여 주는 스크린샷.
    6. 리뷰 + 생성 페이지에서 생성를 선택합니다.
  5. 배포가 성공한 후 배포 페이지에서 리소스로 이동을 선택합니다.

액세스 키 가져오기

  1. Event Grid 네임스페이스 페이지의 왼쪽 메뉴에서 액세스 키를 선택합니다.
  2. 액세스 키 옆에 있는 복사 단추를 선택합니다. 액세스 키 탭이 선택된 Event Grid 네임스페이스 페이지를 보여 주는 스크린샷.
  3. 액세스 키를 어딘가에 저장합니다. 나중에 빠른 시작에서 사용할 예정입니다.

Event Grid 네임스페이스에 대해 관리 ID 사용

Event Grid 네임스페이스에서 시스템 할당 관리 ID를 사용하도록 설정합니다. 관리 ID를 사용하여 Event Hubs 네임스페이스의 이벤트 허브에 이벤트를 제공하려면 다음 단계를 따릅니다.

  1. 시스템 할당 또는 사용자 할당 관리 ID 사용: 네임스페이스. 다음 섹션을 계속 읽어 Azure CLI를 사용하여 관리 ID를 사용하도록 설정하는 방법을 확인하세요.
  2. Event Hubs 네임스페이스의 Azure Event Hubs 데이터 발신자 역할에 ID를 추가하고, 다음 섹션을 계속 읽어 역할 할당을 추가하는 방법을 찾습니다.
  3. 이벤트 허브를 엔드포인트로 사용하여 시스템 할당 또는 사용자 할당 관리 ID를 사용하는 이벤트 구독을 구성합니다.

이 섹션에서는 네임스페이스에서 시스템 할당 관리 ID를 사용하도록 설정합니다. 이 빠른 시작의 뒷부분에서 다른 단계를 수행합니다.

  1. Event Grid 네임스페이스 페이지의 왼쪽 메뉴에서 ID를 선택합니다.

  2. ID 페이지에서 상태켜기를 선택합니다.

  3. 명령 모음에서 저장을 선택합니다.

    Event Grid 네임스페이스 페이지의 ID 탭을 보여 주는 스크린샷.

네임스페이스에서 토픽 만들기

네임스페이스 엔드포인트에 게시된 모든 이벤트를 저장하는 데 사용되는 토픽을 만듭니다.

  1. 왼쪽 메뉴에서 항목를 선택합니다.
  2. 항목 페이지의 명령 모음에서 + 항목를 선택합니다. 항목 페이지를 보여 주는 스크린샷.
  3. 토픽 만들기 페이지에서 다음 단계를 수행합니다.
    1. 항목의 이름을 입력합니다.
    2. 만들기를 실행합니다.
      항목 만들기 페이지를 보여 주는 스크린샷.

Event Hubs 네임스페이스 만들기

네임스페이스 토픽 푸시 배달 구독의 처리기 대상으로 사용할 Event Hubs 리소스를 만듭니다. 인터넷 브라우저의 별도 탭이나 별도 창에서 이 단계를 수행합니다. Azure Portal로 이동하여 이전에 사용한 것과 동일한 자격 증명 및 동일한 Azure 구독을 사용하여 로그인합니다.

  1. 검색 창에 Event Hubs를 입력하고 Event Hubs를 선택합니다.
  2. Event Hubs 페이지의 명령 모음에서 + 만들기를 선택합니다.
  3. 네임스페이스 만들기 페이지에서 다음 단계를 수행합니다.
    1. Event Grid 네임스페이스를 만드는 데 사용한 Azure 구독을 선택합니다.
    2. 이전에 사용한 리소스 그룹을 선택합니다.
    3. Event Hubs 네임스페이스의 이름을 입력합니다.
    4. Event Grid 네임스페이스에 사용한 것과 동일한 위치를 선택합니다.
    5. 가격 책정 계층으로 기본을 선택합니다.
    6. 검토 + 만들기를 선택합니다. Event Hubs 네임스페이스 만들기 페이지를 보여 주는 스크린샷.
    7. 검토 페이지에서 만들기를 선택합니다.
  4. 배포가 성공한 후 배포 페이지에서 리소스로 이동을 선택합니다.

Event Hubs 데이터 보낸 사람 역할에 Event Grid 관리 ID 추가

  1. Event Hubs 네임스페이스 페이지의 왼쪽 메뉴에서 액세스 제어(IAM)를 선택합니다.
  2. 명령 모음에서 추가 ->역할 할당 추가를 선택합니다. 액세스 제어 탭이 선택된 Event Hubs 네임스페이스 페이지를 보여 주는 스크린샷.
  3. 역할 할당 추가 페이지에서 Event Hubs 보낸 사람를 검색하고 역할 목록에서 Azure Event Hubs 보낸 사람를 선택한 후 다음을 선택합니다. 역할 할당 추가 페이지를 보여 주는 스크린샷.
  4. 멤버 탭에서 형식으로 관리 ID를 선택한 다음 + 멤버 선택을 선택합니다. 역할 할당 추가 페이지의 멤버 탭을 보여 주는 스크린샷.
  5. 관리 ID 선택 페이지에서 관리 ID에 대해 Event Grid 네임스페이스를 선택한 다음 Event Grid 네임스페이스와 이름이 동일한 관리 ID를 선택합니다. 관리 ID 선택 페이지를 보여 주는 스크린샷.
  6. 관리 ID 선택 페이지에서 선택을 선택합니다. 선택한 관리 ID를 보여 주는 스크린샷.
  7. 이제, 역할 할당 추가 페이지에서 검토 + 할당을 선택합니다. 관리 ID가 선택된 역할 할당 추가 페이지를 보여 주는 스크린샷.
  8. 검토 + 할당 페이지에서 검토 + 할당을 선택합니다.

이벤트 허브 만들기

  1. Event Hubs 네임스페이스 페이지의 왼쪽 메뉴에서 Event Hubs를 선택합니다.
  2. Event Hubs 페이지의 명령 모음에서 + 이벤트 허브를 선택합니다. + Event Hubs가 선택된 Event Hubs 페이지를 보여 주는 스크린샷.
  3. 이벤트 허브 만들기 페이지에서 이벤트 허브 이름을 입력한 다음 검토 + 만들기를 선택합니다. 이벤트 허브 만들기 페이지를 보여 주는 스크린샷.
  4. 리뷰 + 생성 페이지에서 생성를 선택합니다.

이벤트 구독 만들기

푸시 배달을 지원하는 푸시로 배달 모드를 설정하는 이벤트 구독을 만듭니다.

  1. Event Hubs 네임스페이스 페이지가 열려 있는 탭 또는 창에서 Event Grid 네임스페이스 페이지가 열려 있는 탭 또는 창으로 전환합니다.
  2. Event Grid 네임스페이스 페이지의 왼쪽 메뉴에서 토픽을 선택합니다.
  3. 항목 페이지에서 이전 단계에서 만든 항목을 선택합니다.
  4. 명령 모음에서 + 구독을 선택합니다. 구독 만들기 단추가 선택된 항목 페이지를 보여 주는 스크린샷.
  5. 이벤트 구독 만들기 페이지에서 다음 단계를 수행합니다.
    1. 기본 탭에서 이벤트 구독의 이름을 입력합니다.
    2. 이벤트 배달 모드로 푸시를 선택합니다.
    3. 엔드포인트 형식으로 이벤트 허브가 선택되었는지 확인합니다.
    4. 엔드포인트 구성을 선택합니다. 배달 모드로 푸시가 선택된 구독 만들기 페이지를 보여 주는 스크린샷.
    5. 이벤트 허브 선택 페이지에서 다음 단계를 따릅니다.
      1. 이벤트 허브가 있는 Azure 구독리소스 그룹을 선택합니다.
      2. Event Hubs 네임스페이스이벤트 허브를 선택합니다.
      3. 다음으로 선택 확인을 선택합니다. 이벤트 허브 선택 페이지를 보여 주는 스크린샷.
    6. 구독 만들기 페이지로 돌아가서 관리 ID 유형에 대해 시스템 할당을 선택합니다. 관리 ID 유형이 시스템 할당으로 설정된 구독 만들기 페이지를 보여 주는 스크린샷.
    7. 만들기를 실행합니다.

토픽에 이벤트 보내기

이제 이 섹션의 단계에 따라 네임스페이스 토픽에 샘플 이벤트를 보냅니다.

  1. Azure Portal에서 Cloud Shell을 시작합니다. Bash로 전환합니다.

    Cloud Shell을 보여 주는 스크린샷.

  2. Cloud Shell에서 다음 명령을 실행하여 네임스페이스에 대한 액세스 키를 보관할 변수를 선언합니다. 이 빠른 시작의 앞부분에서 액세스 키를 기록해 두었습니다.

    key=ACCESSKEY
    
  3. 게시 작업 URI를 보유할 변수를 선언합니다. NAMESPACENAME을 Event Grid 네임스페이스 이름으로 바꾸고, TOPICNAME을 항목 이름으로 바꿉니다.

    publish_operation_uri=https://NAMESPACENAME.eastus-1.eventgrid.azure.net/topics/TOPICNAME:publish?api-version=2023-06-01-preview
    
  4. 샘플 CloudEvents 규격 이벤트를 만듭니다.

    event=' { "specversion": "1.0", "id": "'"$RANDOM"'", "type": "com.yourcompany.order.ordercreatedV2", "source" : "/mycontext", "subject": "orders/O-234595", "time": "'`date +%Y-%m-%dT%H:%M:%SZ`'", "datacontenttype" : "application/json", "data":{ "orderId": "O-234595", "url": "https://yourcompany.com/orders/o-234595"}} '
    

    data 요소는 이벤트의 페이로드입니다. 모든 잘 구성된(Well-Formed) JSON은 이 필드에 배치될 수 있습니다. 이벤트에 참가할 수 있는 속성(컨텍스트 특성이라고도 함)에 대한 자세한 내용은 CloudEvents 사양을 참조하세요.

  5. CURL을 사용하여 토픽에 이벤트를 보냅니다. CURL은 HTTP 요청을 보내는 유틸리티입니다.

    curl -X POST -H "Content-Type: application/cloudevents+json" -H "Authorization:SharedAccessKey $key" -d "$event" $publish_operation_uri
    

    Azure Portal에서 Event Hubs 네임스페이스 페이지로 이동하여 페이지를 새로 고치고 차트의 들어오는 메시지 카운터가 이벤트가 수신되었음을 나타내는지 확인하세요.

    이벤트가 수신되었음을 표시하는 차트가 있는 이벤트 허브 페이지를 표시하는 스크린샷.

다음 단계

이 문서에서는 Event Grid 네임스페이스와 Event Hubs 리소스를 만들고 구성했습니다. 이벤트를 이벤트 허브로 보내고 받는 단계별 지침은 다음 자습서를 참조하세요.