Reagieren auf Amazon Location Service-Ereignisse mit Amazon EventBridge - Amazon Location Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Reagieren auf Amazon Location Service-Ereignisse mit Amazon EventBridge

Amazon EventBridge ist ein Serverless Event Bus, der Anwendungen mithilfe von Daten aus -AWSServices wie Amazon Location. EventBridge receives Events von Amazon Location effizient miteinander verbindet und diese Daten an Ziele wie weiterleitetAWS Lambda. Sie können Routing-Regeln einrichten, um zu bestimmen, wohin Ihre Daten gesendet werden sollen, um Anwendungsarchitekturen zu erstellen, die in Echtzeit reagieren.

Standardmäßig werden nur Geofence-Ereignisse (ENTER- und -EXITEreignisse, wenn Geräte in die gefensterten Bereiche gelangen oder diese verlassen) an gesendet EventBridge . Sie können auch alle gefilterten Positionsaktualisierungsereignisse für eine Tracker-Ressource aktivieren. Weitere Informationen finden Sie unter Aktivieren von Aktualisierungsereignissen für einen Tracker.

Weitere Informationen finden Sie unter Ereignisse und Ereignismuster im Amazon- EventBridge Benutzerhandbuch.

Aktivieren von Aktualisierungsereignissen für einen Tracker

Standardmäßig sendet Amazon Location nur - ENTER und EXIT Geofence-Ereignisse an EventBridge. Sie können aktivieren, dass alle gefilterten UPDATE Positionsereignisse für einen Tracker an gesendet werden EventBridge. Sie können dies tun, wenn Sie einen Tracker erstellen oder aktualisieren.

Um beispielsweise einen vorhandenen Tracker mithilfe der zu aktualisierenAWS CLI, können Sie den folgenden Befehl verwenden (verwenden Sie den Namen Ihrer Tracker-Ressource anstelle von MyTracker).

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

Um Positionsereignisse für einen Tracker zu deaktivieren, müssen Sie die -API oder die Amazon Location Service-Konsole verwenden.

Erstellen von Ereignisregeln für Amazon Location

Sie können bis zu 300 Regeln pro Event Bus in erstellen EventBridge , um Aktionen zu konfigurieren, die als Reaktion auf ein Amazon Location-Ereignis ausgeführt werden.

Sie können beispielsweise eine Regel für Geofence-Ereignisse erstellen, bei denen eine Push-Benachrichtigung gesendet wird, wenn ein Telefon innerhalb einer Geofenced-Grenze erkannt wird.

So erstellen Sie eine Regel für Amazon-Location-Ereignisse

Erstellen Sie mit den folgenden Werten eine - EventBridge Regel basierend auf Amazon Location-Ereignissen:

  • Bei Rule type (Regeltyp) wählen Sie Rule with an event pattern (Regel mit einem Ereignismuster) aus.

  • Fügen Sie im Feld Ereignismuster das folgende Muster hinzu:

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

    Um eine Regel für Tracker-Positionsaktualisierungen zu erstellen, können Sie stattdessen das folgende Muster verwenden:

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

    Sie können optional nur - ENTER oder -EXITEreignisse angeben, indem Sie ein detail Tag hinzufügen (wenn Ihre Regel für Tracker-Positionsaktualisierungen bestimmt ist, gibt es nur ein einziges EventType, sodass Sie es nicht filtern müssen):

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

    Sie können optional auch nach Eigenschaften der Position oder des Geofence filtern:

    { "source": ["aws.geo"], "detail-type": ["Location Geofence Event"], "detail": { "EventType": ["ENTER"], "GeofenceProperties": { "Type": "LoadingDock" }, "PositionProperties": { "VehicleType": "Truck" } } }
  • Wählen Sie unter Ziele auswählen die Zielaktion aus, die ausgeführt werden soll, wenn ein Ereignis vom Amazon Location Service empfangen wird.

    Verwenden Sie beispielsweise ein Amazon Simple Notification Service (SNS)-Thema, um eine E-Mail oder Textnachricht zu senden, wenn ein Ereignis eintritt. Sie müssen zuerst mit der Amazon-SNS-Konsole ein Amazon-SNS-Thema erstellen. Weitere Informationen finden Sie unter Verwenden von Amazon SNS für Benutzerbenachrichtigungen.

Warnung

Es hat sich bewährt zu bestätigen, dass die Ereignisregel erfolgreich angewendet wurde oder Ihre automatisierte Aktion möglicherweise nicht wie erwartet ausgelöst wird. Um Ihre Ereignisregel zu überprüfen, initiieren Sie Bedingungen für die Ereignisregel. Simulieren Sie beispielsweise ein Gerät, das in einen Geofenced-Bereich gelangt.

Sie können auch alle Ereignisse von Amazon Location erfassen, indem Sie einfach den detail-type Abschnitt ausschließen. Beispielsweise:

{ "source": [ "aws.geo" ] }
Anmerkung

Das gleiche Ereignis kann mehr als einmal zugestellt werden. Sie können die Ereignis-ID verwenden, um die Ereignisse, die Sie erhalten, zu deduplizieren.

Amazon- EventBridge Ereignisbeispiele für Amazon Location Service

Im Folgenden finden Sie ein Beispiel für ein Ereignis für die Eingabe eines Geofence, das durch Aufrufen von initiiert wirdBatchUpdateDevicePosition.

{ "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" } } }

Im Folgenden finden Sie ein Beispiel für ein Ereignis zum Beenden eines Geofence, das durch Aufrufen von initiiert wirdBatchUpdateDevicePosition.

{ "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" } } }

Im Folgenden finden Sie ein Beispiel für ein Ereignis für eine Positionsaktualisierung, das durch Aufrufen von initiiert wirdBatchUpdateDevicePosition.

{ "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" } } }