Reagire agli eventi di Amazon Location Service con Amazon EventBridge - Servizio di posizione Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Reagire agli eventi di Amazon Location Service con Amazon EventBridge

Amazon EventBridge è un bus di eventi serverless che collega in modo efficiente le applicazioni tra loro utilizzando i dati di AWS servizi come Amazon Location. EventBridge riceve eventi da Amazon Location e indirizza i dati a destinazioni comeAWS Lambda. Puoi impostare regole di routing per determinare dove inviare i dati per creare architetture applicative che reagiscono in tempo reale.

Per impostazione predefinita, vengono inviati solo gli eventi di geofence (ENTERe EXIT gli eventi, quando i dispositivi entrano o escono dalle aree geofenzionate). EventBridge Puoi anche abilitare tutti gli eventi di aggiornamento della posizione filtrati per una risorsa tracker. Per ulteriori informazioni, consulta Abilita gli eventi di aggiornamento per un tracker.

Per ulteriori informazioni, consulta Events and Event Patterns nella Amazon EventBridge User Guide.

Abilita gli eventi di aggiornamento per un tracker

Per impostazione predefinita, Amazon Location invia solo eventi di geofence ENTER e EXIT geofence a. EventBridge Puoi abilitare tutti gli UPDATE eventi di posizione filtrati a cui inviare un tracker. EventBridge Puoi farlo quando crei o aggiorni un tracker.

Ad esempio, per aggiornare un tracker esistente utilizzando ilAWS CLI, puoi usare il seguente comando (usa il nome della tua risorsa tracker al posto di). MyTracker

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

Per disattivare gli eventi di posizione per un tracker, devi utilizzare l'API o la console Amazon Location Service.

Crea regole per eventi per Amazon Location

Puoi creare fino a 300 regole per bus di eventi EventBridge per configurare le azioni intraprese in risposta a un evento Amazon Location.

Ad esempio, puoi creare una regola per gli eventi di geofence in base alla quale verrà inviata una notifica push quando viene rilevato un telefono all'interno di un confine geofenzato.

Per creare una regola per gli eventi di Amazon Location

Utilizzando i seguenti valori, crea una EventBridge regola basata sugli eventi di Amazon Location:

  • Per Rule type (Tipo di regola), scegli Rule with an event pattern (Regola con un modello di eventi).

  • Nella casella Schema di evento, aggiungi lo schema seguente:

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

    Per creare una regola per gli aggiornamenti della posizione del tracker, puoi invece utilizzare il seguente schema:

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

    Facoltativamente, puoi specificare solo ENTER EXIT gli eventi aggiungendo un detail tag (se la tua regola riguarda gli aggiornamenti della posizione del tracker, ce n'è solo unoEventType, quindi non è necessario filtrarlo):

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

    Opzionalmente, puoi anche filtrare in base alle proprietà della posizione o del geofence:

    { "source": ["aws.geo"], "detail-type": ["Location Geofence Event"], "detail": { "EventType": ["ENTER"], "GeofenceProperties": { "Type": "LoadingDock" }, "PositionProperties": { "VehicleType": "Truck" } } }
  • Per gli obiettivi Select, scegli l'azione da intraprendere quando si riceve un evento da Amazon Location Service.

    Ad esempio, utilizza un argomento Amazon Simple Notification Service (SNS) per inviare un'e-mail o un messaggio di testo quando si verifica un evento. Per fare ciò, è necessario creare un argomento Amazon SNS utilizzando la console di Amazon SNS. Per ulteriori informazioni, consulta Using Amazon SNS per le notifiche utente.

avvertimento

È buona norma confermare che la regola relativa all'evento sia stata applicata correttamente o che l'azione automatica potrebbe non essere avviata come previsto. Per verificare la regola dell'evento, avvia le condizioni per la regola dell'evento. Ad esempio, simula l'ingresso di un dispositivo in un'area delimitata.

Puoi anche acquisire tutti gli eventi da Amazon Location, semplicemente escludendo la detail-type sezione. Per esempio:

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

Lo stesso evento può essere organizzato più di una volta. Puoi utilizzare l'id dell'evento per deduplicare gli eventi che ricevi.

Esempi di EventBridge eventi Amazon per Amazon Location Service

Di seguito è riportato un esempio di evento per l'accesso a un geofence avviato tramite chiamata. 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" } } }

Di seguito è riportato un esempio di evento di uscita da un geofence avviato tramite chiamata. 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" } } }

Di seguito è riportato un esempio di evento per l'aggiornamento di una posizione, avviato mediante una chiamata. 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" } } }