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 |
string | イベント ソースの完全なリソース パス。 このフィールドは書き込み可能ではありません。 この値は Event Grid によって指定されます。 |
subject |
string | 発行元が定義したイベントの対象のパス。 |
type |
string | このイベント ソース用に登録されたイベントの種類のいずれか。 |
time |
string | プロバイダーの UTC 時刻に基づくイベントの生成時刻。 |
id |
string | イベントの一意識別子。 |
data |
object | ジオフェンシングのイベント データ。 |
specversion |
string | CloudEvents スキーマ仕様バージョン。 |
データ オブジェクトには、次のプロパティがあります。
プロパティ | タイプ | 説明 |
---|---|---|
apiCategory |
string | イベントの API カテゴリ。 |
apiName |
string | イベントの API 名。 |
issues |
object | 処理中に発生した問題の一覧を示します。 何らかの問題が返された場合、応答ではジオメトリが返されません。 |
responseCode |
number | HTTP 応答コード |
geometries |
object | 座標が含まれるフェンス ジオメトリ、または位置の周りに searchBuffer が重なっているフェンス ジオメトリの一覧を示します。 |
Maps API でエラーが発生すると、エラー オブジェクトが返されます。 エラー オブジェクトには、次のプロパティがあります。
プロパティ | タイプ | 説明 |
---|---|---|
error |
ErrorDetails | Maps API でエラーが発生すると、このオブジェクトが返されます |
Maps API でエラーが発生すると、ErrorDetails オブジェクトが返されます。 ErrorDetails オブジェクトには、次のプロパティがあります。
プロパティ | タイプ | 説明 |
---|---|---|
code |
string | HTTP 状態コード。 |
message |
string | ある場合、人間が判読できるエラーの説明。 |
innererror |
InnerError | ある場合、エラーに関するサービス固有の情報が含まれるオブジェクト。 |
InnerError は、エラーに関するサービス固有の情報が含まれるオブジェクトです。 InnerError オブジェクトには、次のプロパティがあります。
プロパティ | タイプ | 説明 |
---|---|---|
code |
string | エラー メッセージ。 |
要求のユーザー時刻を基準にして有効期限が切れているジオフェンスのジオメトリ ID を一覧表示する geometries オブジェクト。 geometries オブジェクトには、次のプロパティを含むジオメトリ項目があります。
プロパティ | タイプ | 説明 |
---|---|---|
deviceid |
string | デバイスの ID。 |
distance |
string | 座標からジオフェンスの最も近い境界までの距離。 正の値は、座標がジオフェンスの外部にあることを意味します。 座標がジオフェンスの外部にあっても、最も近いジオフェンスの境界から searchBuffer の値より大きく離れている場合、値は 999 になります。 負の値は、座標がジオフェンスの内部にあることを意味します。 座標がポリゴンの内部にあっても、最も近いジオフェンスの境界から searchBuffer の値より大きく離れている場合、値は -999 になります。 値 999 は、座標がジオフェンスの外部にあることが十分に確実であることを意味します。 値 -999 は、座標がジオフェンスの内部にあることが十分に確実であることを意味します。 |
geometryid |
string | ジオフェンスのジオメトリを示す一意 ID。 |
nearestlat |
number | ジオメトリの最も近いポイントの緯度。 |
nearestlon |
number | ジオメトリの最も近いポイントの経度。 |
udId |
string | ジオフェンスをアップロードしたときに、ユーザーのアップロード サービスから返される一意 ID。 Geofencing POST API には含まれません。 |
データ オブジェクトには、次のプロパティがあります。
プロパティ | タイプ | 説明 |
---|---|---|
expiredGeofenceGeometryId |
string[] | 要求でのユーザー時刻を基準にして期限切れになっているジオフェンスのジオメトリ ID の一覧。 |
geometries |
geometries[] | 座標が含まれるフェンス ジオメトリ、または位置の周りに searchBuffer が重なっているフェンス ジオメトリの一覧を示します。 |
invalidPeriodGeofenceGeometryId |
string[] | 要求でのユーザー時刻を基準にして無効期間内になっているジオフェンスのジオメトリ ID の一覧。 |
isEventPublished |
boolean | Azure Maps イベント サブスクライバーに対して少なくとも 1 つのイベントが発行されている場合は true、Azure Maps イベント サブスクライバーに対してイベントが発行されていない場合は false。 |
チュートリアルと方法
タイトル | 説明 |
---|---|
Event Grid を使用して Azure Maps イベントに反応する | Azure Maps と Event Grid の統合の概要。 |
チュートリアル:ジオフェンスを設定する | このチュートリアルでは、Azure Maps を使用してジオフェンスを設定するための基本的な手順について説明します。 Azure Event Grid を使用してジオフェンスの結果をストリーミングし、ジオフェンスの結果に基づいて通知を設定します。 |
次のステップ
- Azure Event Grid の概要については、Event Grid の紹介に関する記事を参照してください。
- Azure Event Grid サブスクリプションの作成の詳細については、Event Grid サブスクリプション スキーマに関する記事を参照してください。