Event Grid 원본으로 Azure Maps

이 문서에서는 Azure Maps 이벤트에 대한 속성과 스키마를 제공합니다. 이벤트 스키마에 대한 소개는 Azure Event Grid 이벤트 스키마를 참조하세요. 또한 Azure Maps를 이벤트 원본으로 사용하는 빠른 시작 및 자습서 목록을 제공합니다.

사용할 수 있는 이벤트 유형

Azure Maps 계정은 다음 이벤트 유형을 내보낸다.

이벤트 유형 설명
Microsoft.Maps.GeofenceEntered 받은 좌표가 지정된 지오펜스 외부에서 내부로 이동했을 때 발생합니다.
Microsoft.Maps.GeofenceExited 받은 좌표가 지정된 지오펜스 내에서 외부로 이동했을 때 발생합니다.
Microsoft.Maps.GeofenceResult 상태에 관계없이 지오펜싱 쿼리가 결과를 반환할 때마다 발생합니다.

예제 이벤트

다음 예제에서는 GeofenceEntered 이벤트의 스키마를 보여줍니다.

{   
   "id":"7f8446e2-1ac7-4234-8425-303726ea3981", 
   "source":"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Maps/accounts/{accountName}", 
   "subject":"/spatial/geofence/udid/{udid}/id/{eventId}", 
   "data":{   
      "geometries":[   
         {   
            "deviceId":"device_1", 
            "udId":"1a13b444-4acf-32ab-ce4e-9ca4af20b169", 
            "geometryId":"2", 
            "distance":-999.0, 
            "nearestLat":47.618786, 
            "nearestLon":-122.132151 
         } 
      ], 
      "expiredGeofenceGeometryId":[   
      ], 
      "invalidPeriodGeofenceGeometryId":[   
      ] 
   }, 
   "type":"Microsoft.Maps.GeofenceEntered", 
   "time":"2018-11-08T00:54:17.6408601Z", 
   "specversion":"1.0" 
}

다음 예제에서는 GeofenceResult에 대한 스키마를 보여줍니다.

{   
   "id":"451675de-a67d-4929-876c-5c2bf0b2c000", 
   "source":"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Maps/accounts/{accountName}", 
   "subject":"/spatial/geofence/udid/{udid}/id/{eventId}", 
   "data":{   
      "geometries":[   
         {   
            "deviceId":"device_1", 
            "udId":"1a13b444-4acf-32ab-ce4e-9ca4af20b169", 
            "geometryId":"1", 
            "distance":999.0, 
            "nearestLat":47.609833, 
            "nearestLon":-122.148274 
         }, 
         {   
            "deviceId":"device_1", 
            "udId":"1a13b444-4acf-32ab-ce4e-9ca4af20b169", 
            "geometryId":"2", 
            "distance":999.0, 
            "nearestLat":47.621954, 
            "nearestLon":-122.131841 
         } 
      ], 
      "expiredGeofenceGeometryId":[   
      ], 
      "invalidPeriodGeofenceGeometryId":[   
      ] 
   }, 
   "type":"Microsoft.Maps.GeofenceResult", 
   "time":"2018-11-08T00:52:08.0954283Z", 
   "specversion":"1.0" 
}

이벤트 속성

이벤트에는 다음과 같은 최상위 데이터가 있습니다.

재산 유형 설명
source 문자열 이벤트 원본에 대한 전체 리소스 경로입니다. 이 필드는 쓸 수 없습니다. Event Grid는 이 값을 제공합니다.
subject 문자열 이벤트 주제에 대한 경로를 게시자가 정의합니다.
type 문자열 이 이벤트 원본에 대해 등록된 이벤트 유형 중 하나입니다.
time 문자열 공급자의 UTC 시간을 기준으로 이벤트가 생성되는 시간입니다.
id 문자열 이벤트의 고유 식별자입니다.
data 객체 지오펜싱 이벤트 데이터입니다.
specversion 문자열 CloudEvents 스키마 사양 버전입니다.

데이터 개체에는 다음과 같은 속성이 있습니다:

재산 유형 설명
apiCategory 문자열 이벤트의 API 범주입니다.
apiName 문자열 이벤트의 API 이름입니다.
issues 객체 처리 중에 발생한 문제를 나열합니다. 문제가 반환되면 응답과 함께 반환되는 기하 도형이 없습니다.
responseCode 숫자 HTTP 응답 코드
geometries 객체 좌표 위치를 포함하거나 위치 주위에 searchBuffer와 겹치는 펜스 형상을 나열합니다.

Maps API에서 오류가 발생하면 오류 개체가 반환됩니다. 오류 개체에는 다음과 같은 속성이 있습니다.

재산 유형 설명
error ErrorDetails 이 객체는 Maps API에서 오류가 발생하면 반환됩니다

Maps API에서 오류가 발생하면 ErrorDetails 개체가 반환됩니다. ErrorDetails 또는 개체에는 다음과 같은 속성이 있습니다.

재산 유형 설명
code 문자열 HTTP 상태 코드입니다.
message 문자열 사용 가능한 경우 오류에 대한 사람이 읽을 수 있는 설명입니다.
innererror InnerError 사용 가능한 경우 오류에 대한 서비스별 정보를 포함하는 개체입니다.

InnerError는 오류에 대한 서비스별 정보를 포함하는 개체입니다. InnerError 개체에는 다음과 같은 속성이 있습니다.

재산 유형 설명
code 문자열 오류 메시지입니다.

geometries 개체는 요청의 사용자 시간을 기준으로 만료된 지오펜스의 기하 도형 ID를 나열합니다. geometries 개체에는 다음 속성을 가진 기하 도형 항목이 있습니다.

재산 유형 설명
deviceid 문자열 디바이스의 ID입니다.
distance 문자열

좌표에서 지오펜스의 가장 가까운 테두리까지의 거리입니다. 양수는 좌표가 지오펜스 외부에 있다는 것을 의미합니다. 좌표가 지오펜스 외부에 있지만 가장 가까운 지오펜스 테두리에서 멀리 떨어진 searchBuffer 값보다 큰 경우 값은 999입니다. 음수는 좌표가 지오펜스 내부에 있다는 것을 의미합니다. 좌표가 다각형 내부에 있지만 가장 가까운 지오펜싱 경계에서 searchBuffer 값보다 큰 경우 값은 -999입니다. 값이 999이면 좌표가 지오펜스 외부에 있다는 확신이 커집니다. -999 값은 좌표가 지오펜스 내에서 잘 있다는 큰 확신이 있음을 의미합니다.

geometryid 문자열 고유 ID는 지오펜스 기하 도형을 식별합니다.
nearestlat 숫자 기하 도형의 가장 가까운 지점의 위도입니다.
nearestlon 숫자 기하 도형의 가장 가까운 지점의 경도입니다.
udId 문자열 지오펜스를 업로드할 때 사용자 업로드 서비스에서 반환된 고유 ID입니다. 지오펜싱 후 API에는 포함되지 않습니다.

데이터 개체에는 다음과 같은 속성이 있습니다:

재산 유형 설명
expiredGeofenceGeometryId 문자열[] 요청의 사용자 시간을 기준으로 만료된 지오펜스의 기하 도형 ID 목록입니다.
geometries geometries[] 좌표 위치를 포함하거나 위치 주위에 searchBuffer와 겹치는 펜스 형상을 나열합니다.
invalidPeriodGeofenceGeometryId 문자열[] 요청의 사용자 시간을 기준으로 잘못된 기간에 있는 지오펜스의 기하 도형 ID 목록입니다.
isEventPublished 부울 True이면 하나 이상의 이벤트가 Azure Maps 이벤트 구독자에 게시되고, Azure Maps 이벤트 구독자에 이벤트가 게시되지 않으면 false입니다.

자습서 및 방법

Title 설명
Event Grid를 사용하여 Azure Maps 이벤트에 대응 Azure Maps를 Event Grid와 통합하는 개요입니다.
자습서: 지오펜스 설정 이 자습서에서는 Azure Maps를 사용하여 지오펜스를 설정하는 기본 단계를 안내합니다. Azure Event Grid를 사용하여 지오펜스 결과를 스트리밍하고 지오펜스 결과에 따라 알림을 설정합니다.

다음 단계