Amazon での Amazon Location Service イベントへの対応 EventBridge - Amazon Location Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon での Amazon Location Service イベントへの対応 EventBridge

Amazon EventBridge は、Amazon Location. EventBridge receives などの AWS のサービスからのデータを使用して効率的にアプリケーションを接続し、そのデータを などのターゲットにルーティングするサーバーレスイベントバスですAWS Lambda。お客様は、データの送信先を判断するためのルーティングルールを設定して、すべてのデータソースにリアルタイムで反応するアプリケーションアーキテクチャを構築できます。

EventBridge デフォルトでは、ジオフェンスイベント (ENTERデバイスがジオフェンスエリアに出入りするときの および EXITイベント) のみが に送信されます。トラッカーリソースのすべてのフィルターされた位置更新のイベントを有効にできます。詳細については、「トラッカーの更新イベントを有効にします。」を参照してください。

詳細については、「Amazon EventBridge ユーザーガイド」の「イベントとイベントパターン」を参照してください。

トラッカーの更新イベントを有効にします。

デフォルトでは、Amazon Location は ENTERおよび EXIT ジオフェンスイベントのみを に送信します EventBridge。トラッカーのすべてのフィルタリングされた位置UPDATEイベントを に送信できます EventBridge。これはトラッカーを作成または更新するときに設定できます。

例えば、 を使用して既存のトラッカーを更新するにはAWS CLI、次のコマンドを使用できます ( の代わりにトラッカーリソースの名前を使用しますMyTracker)。

aws location update-tracker --tracker-name MyTracker --event-bridge-enabled

トラッカーの位置イベントをオフにするには、API または Amazon Location Service コンソールを使用する必要があります。

Amazon Location のイベントルールを作成します。

イベントバスごとに最大 300 のルールを作成して EventBridge 、Amazon Location イベントに応答して実行されるアクションを設定できます。

たとえば、ジオフェンスされた境界内で電話が検出されるとプッシュ通知が送信されるジオフェンスイベント用のルールを作成できます。

Amazon Location イベントのルールを作成する

次の値を使用して、Amazon Location イベントに基づいて EventBridge ルールを作成します

  • ルールタイプでは、イベントパターンを持つルールを選択します。

  • イベントパターン ボックスに次のパターンを貼り付けます。

    { "source": ["aws.geo"], "detail-type": ["Location Geofence Event"] }

    トラッカー位置更新ルールを作成するには、代わりに次のパターンを使用できます。

    { "source": ["aws.geo"], "detail-type": ["Location Device Position Event"] }

    detailオプションでタグを追加することで ENTER または EXIT イベントのみを指定できます (ルールがトラッカーの位置更新の場合、 EventType は1つだけなので、フィルタリングする必要はありません):

    { "source": ["aws.geo"], "detail-type": ["Location Geofence Event"], "detail": { "EventType": ["ENTER"] } }

    オプションでポジションやジオフェンスのプロパティをフィルタリングすることもできます。

    { "source": ["aws.geo"], "detail-type": ["Location Geofence Event"], "detail": { "EventType": ["ENTER"], "GeofenceProperties": { "Type": "LoadingDock" }, "PositionProperties": { "VehicleType": "Truck" } } }
  • ターゲットを選択では、Amazon Location Service からイベントを受信したときに実行するターゲットアクションを選択します。

    例えば、Amazon Simple Notification Service (SNS) トピックを使用して、イベントが発生したときに E メールまたはテキストメッセージを送信できます。先ず、Amazon SNS コンソールを使用して Amazon SNS トピックを作成する必要があります。詳細については、「Amazon SNS を利用してユーザー通知」を参照してください。

警告

イベントルールが正常に適用されたことを確認するのがベストプラクティスです。そうしないと、自動アクションが期待どおりに開始されない場合があります。イベントルールを確認するには、イベントルールの条件を設定します。たとえば、デバイスがジオフェンスエリアに入る様子をシミュレートします。

detail-typeセクションを除外するだけで、Amazon Location からのすべてのイベントをキャプチャすることもできます。例:

{ "source": [ "aws.geo" ] }
注記

同じイベントが複数回配信される場合があります。イベント ID を使用して、受信したイベントの重複を排除できます。

Amazon Location Service の Amazon EventBridge イベントの例

BatchUpdateDevicePositionの呼び出しによって開始されるジオフェンスに入るイベントの例を以下に示します。

{ "version": "0", "id": "aa11aa22-33a-4a4a-aaa5-example", "detail-type": "Location Geofence Event", "source": "aws.geo", "account": "636103698109", "time": "2020-11-10T23:43:37Z", "region": "eu-west-1", "resources": [ "arn:aws:geo:eu-west-1:0123456789101:geofence-collection/GeofenceEvents-GeofenceCollection_EXAMPLE", "arn:aws:geo:eu-west-1:0123456789101:tracker/Tracker_EXAMPLE" ], "detail": { "EventType": "ENTER", "GeofenceId": "polygon_14", "DeviceId": "Device1-EXAMPLE", "SampleTime": "2020-11-10T23:43:37.531Z", "Position": [ -123.12390073297821, 49.23433613216247 ], "Accuracy": { "Horizontal": 15.3 }, "GeofenceProperties": { "ExampleKey1": "ExampleField1", "ExampleKey2": "ExampleField2" }, "PositionProperties": { "ExampleKey1": "ExampleField1", "ExampleKey2": "ExampleField2" } } }

BatchUpdateDevicePositionの呼び出しによって開始されるジオフェンスを終了するためのイベントの例を以下に示します。

{ "version": "0", "id": "aa11aa22-33a-4a4a-aaa5-example", "detail-type": "Location Geofence Event", "source": "aws.geo", "account": "123456789012", "time": "2020-11-10T23:41:44Z", "region": "eu-west-1", "resources": [ "arn:aws:geo:eu-west-1:0123456789101:geofence-collection/GeofenceEvents-GeofenceCollection_EXAMPLE", "arn:aws:geo:eu-west-1:0123456789101:tracker/Tracker_EXAMPLE" ], "detail": { "EventType": "EXIT", "GeofenceId": "polygon_10", "DeviceId": "Device1-EXAMPLE", "SampleTime": "2020-11-10T23:41:43.826Z", "Position": [ -123.08569321875426, 49.23766166742559 ], "Accuracy": { "Horizontal": 15.3 }, "GeofenceProperties": { "ExampleKey1": "ExampleField1", "ExampleKey2": "ExampleField2" }, "PositionProperties": { "ExampleKey1": "ExampleField1", "ExampleKey2": "ExampleField2" } } }

BatchUpdateDevicePositionの呼び出しによって開始される位置更新イベントの例を以下に示します。

{ "version": "0", "id": "aa11aa22-33a-4a4a-aaa5-example", "detail-type": "Location Device Position Event", "source": "aws.geo", "account": "123456789012", "time": "2020-11-10T23:41:44Z", "region": "eu-west-1", "resources": [ "arn:aws:geo:eu-west-1:0123456789101:tracker/Tracker_EXAMPLE" ], "detail": { "EventType": "UPDATE", "TrackerName": "tracker_2", "DeviceId": "Device1-EXAMPLE", "SampleTime": "2020-11-10T23:41:43.826Z", "ReceivedTime": "2020-11-10T23:41:39.235Z", "Position": [ -123.08569321875426, 49.23766166742559 ], "Accuracy": { "Horizontal": 15.3 }, "PositionProperties": { "ExampleKey1": "ExampleField1", "ExampleKey2": "ExampleField2" } } }