액세스 키를 사용하여 Azure Event Grid 사용자 지정 토픽에 이벤트 게시

이 문서에서는 액세스 키를 사용하여 사용자 지정 토픽에 이벤트를 게시하는 방법을 설명합니다. 게시 및 이벤트 데이터의 형식을 보여 줍니다. SLA(서비스 수준 계약)는 기대한 형식과 일치하는 게시에만 적용됩니다.

참고 항목

Microsoft Entra 인증은 액세스 키 또는 SAS(공유 액세스 서명) 토큰 인증을 통해 제공되는 것보다 더 뛰어난 인증 지원을 제공합니다. Microsoft Entra 인증을 사용하여 Microsoft Entra ID 공급자를 기준으로 ID의 유효성이 검사됩니다. 개발자는 Microsoft Entra 인증을 사용하는 경우 코드에서 키를 처리할 필요가 없습니다. 조건부 액세스와 같이 애플리케이션의 보안 상황을 개선하는 데 도움이 되는 모든 보안 기능(Microsoft ID 플랫폼에 기본 제공)을 활용할 수도 있습니다. 자세한 내용은 Microsoft Entra ID를 사용하여 게시 클라이언트 인증을 참조하세요.

엔드포인트

HTTP POST를 사용자 지정 토픽에 보낼 때 URI 형식: https://<topic-endpoint>?api-version=2018-01-01을 사용합니다. 예를 들어 올바른 URI는 https://exampletopic.westus2-1.eventgrid.azure.net/api/events?api-version=2018-01-01입니다. Azure CLI를 사용하여 사용자 지정 토픽에 대한 엔드포인트를 가져오려면 다음을 사용합니다.

Azure Portal에 있는 Event Grid 토픽 페이지의 개요 탭에서 토픽의 엔드포인트를 확인할 수 있습니다.

토픽 엔드포인트가 강조 표시된 Azure Portal의 Event Grid 토픽 페이지를 보여 주는 스크린샷.

요청에 인증을 위한 키를 포함하며 이름이 aeg-sas-key인 헤더를 포함합니다. 예를 들어 올바른 헤더 값은 aeg-sas-key: xxxxxxxxxxxxxxxxxxxxxxx입니다. Azure CLI를 사용하여 사용자 지정 토픽에 대한 키를 가져오려면 다음을 사용합니다.

사용자 지정 항목에 대한 액세스 키를 가져오려면 Azure Portal의 Event Grid 토픽 페이지에서 액세스 키 탭을 선택합니다.

Azure Portal에 있는 Event Grid 토픽 페이지의 액세스 키 탭을 보여 주는 스크린샷.

이벤트 데이터

사용자 지정 토픽에서 최상위 수준 데이터에는 표준 리소스 정의 이벤트와 동일한 필드가 있습니다. 이러한 속성 중 하나는 사용자 지정 토픽에 고유한 속성을 포함하는 data 속성입니다. 이벤트 게시자가 이 데이터 개체에 대한 속성을 결정합니다. 스키마는 다음과 같습니다.

[
  {
    "id": string,    
    "eventType": string,
    "subject": string,
    "eventTime": string-in-date-time-format,
    "data":{
      object-unique-to-each-publisher
    },
    "dataVersion": string
  }
]

이 속성에 대한 설명은 Azure Event Grid 이벤트 스키마를 참조하세요. 클라이언트가 이벤트를 Event Grid 항목에 게시할 경우 배열의 최대 총 크기는 1MB가 될 수 있습니다. 이벤트에 허용되는 최대 크기는 1MB입니다. 64KB를 초과하는 이벤트는 64KB 단위로 요금이 부과됩니다. 클라이언트가 일괄 처리로 이벤트를 수신할 때 허용되는 최대 이벤트 수는 일괄 처리당 5,000개입니다.

예를 들어 올바른 이벤트 데이터 스키마는 다음과 같습니다.

[{
  "id": "1807",
  "eventType": "recordInserted",
  "subject": "myapp/vehicles/motorcycles",
  "eventTime": "2017-08-10T21:03:07+00:00",
  "data": {
    "make": "Ducati",
    "model": "Monster"
  },
  "dataVersion": "1.0"
}]

샘플 이벤트 보내기

이 섹션에서는 사용자 지정 토픽에 샘플 이벤트를 보내는 방법을 보여 줍니다.

  1. Azure Portal에서 Cloud Shell을 시작합니다.

  2. Cloud Shell에서 Bash 또는 PowerShell 세션의 Azure PowerShell 또는 Azure CLI에서 명령을 실행합니다.

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

응답

항목 엔드포인트에 게시한 후 응답을 수신합니다. 응답은 표준 HTTP 응답 코드입니다. 몇 가지 일반적인 응답은 다음과 같습니다.

결과 응답
Success 200 OK
이벤트 데이터의 형식이 잘못되었습니다. 400 잘못된 요청
잘못된 액세스 키 401 권한 없음
잘못된 엔드포인트 404 찾을 수 없음
배열 또는 이벤트가 크기 제한을 초과합니다. 413 페이로드가 너무 큼

오류의 경우 메시지 본문에 다음과 같은 형식이 있습니다.

{
    "error": {
        "code": "<HTTP status code>",
        "message": "<description>",
        "details": [{
            "code": "<HTTP status code>",
            "message": "<description>"
    }]
  }
}