Bereaksi terhadap peristiwa Amazon Location Service dengan Amazon EventBridge - Amazon Location Service

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Bereaksi terhadap peristiwa Amazon Location Service dengan Amazon EventBridge

Amazon EventBridge adalah bus acara tanpa server yang secara efisien menghubungkan aplikasi bersama-sama menggunakan data dari AWS layanan seperti Amazon Location. EventBridge menerima peristiwa dari Lokasi Amazon dan merutekan data tersebut ke target sepertiAWS Lambda. Anda dapat mengatur aturan perutean untuk menentukan ke mana harus mengirim data Anda untuk membangun arsitektur aplikasi yang bereaksi secara real time.

Hanya peristiwa geofence (ENTERdan EXIT peristiwa, saat perangkat memasuki atau meninggalkan area geofensi) yang dikirim secara default. EventBridge Anda juga dapat mengaktifkan semua peristiwa pembaruan posisi yang difilter untuk sumber daya pelacak. Untuk informasi selengkapnya, lihat Aktifkan peristiwa pembaruan untuk pelacak.

Untuk informasi selengkapnya, lihat Pola Peristiwa dan Peristiwa di Panduan EventBridge Pengguna Amazon.

Aktifkan peristiwa pembaruan untuk pelacak

Secara default, Lokasi Amazon hanya mengirim ENTER dan peristiwa EXIT geofence ke. EventBridge Anda dapat mengaktifkan semua UPDATE peristiwa posisi yang difilter untuk pelacak yang akan dikirim EventBridge. Anda dapat melakukan ini ketika Anda membuat atau memperbarui pelacak.

Misalnya, untuk memperbarui pelacak yang ada menggunakanAWS CLI, Anda dapat menggunakan perintah berikut (gunakan nama sumber daya pelacak Anda sebagai pengganti). MyTracker

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

Untuk menonaktifkan peristiwa posisi untuk pelacak, Anda harus menggunakan API atau konsol Amazon Location Service.

Membuat aturan acara untuk Lokasi Amazon

Anda dapat membuat hingga 300 aturan per bus acara EventBridge untuk mengonfigurasi tindakan yang diambil sebagai respons terhadap peristiwa Lokasi Amazon.

Misalnya, Anda dapat membuat aturan untuk peristiwa geofence di mana pemberitahuan push akan dikirim saat ponsel terdeteksi dalam batas geografis.

Untuk membuat aturan untuk acara Lokasi Amazon

Dengan menggunakan nilai berikut, buat EventBridge aturan berdasarkan peristiwa Lokasi Amazon:

  • Untuk Tipe aturan, pilih Aturan dengan pola peristiwa.

  • Dalam kotak pola acara, tambahkan pola berikut:

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

    Untuk membuat aturan untuk pembaruan posisi pelacak, Anda dapat menggunakan pola berikut:

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

    Anda dapat secara opsional menentukan hanya ENTER atau EXIT peristiwa dengan menambahkan detail tag (jika aturan Anda adalah untuk pembaruan posisi pelacak, hanya ada satuEventType, jadi tidak perlu memfilternya):

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

    Anda juga dapat secara opsional memfilter properti posisi atau geofence:

    { "source": ["aws.geo"], "detail-type": ["Location Geofence Event"], "detail": { "EventType": ["ENTER"], "GeofenceProperties": { "Type": "LoadingDock" }, "PositionProperties": { "VehicleType": "Truck" } } }
  • Untuk target Pilih, pilih tindakan target yang akan diambil saat peristiwa diterima dari Amazon Location Service.

    Misalnya, Anda dapat menggunakan topik Amazon Simple Notification Service (SNS) untuk mengirim email atau pesan teks ketika peristiwa terjadi. Anda harus terlebih dahulu membuat topik Amazon SNS menggunakan konsol Amazon SNS. Untuk informasi selengkapnya, lihat Menggunakan Amazon SNS untuk pemberitahuan pengguna.

Awas

Praktik terbaik untuk mengonfirmasi bahwa aturan acara berhasil diterapkan atau tindakan otomatis Anda mungkin tidak dimulai seperti yang diharapkan. Untuk memverifikasi aturan acara Anda, mulai kondisi untuk aturan acara. Misalnya, simulasikan perangkat yang memasuki area geofenced.

Anda juga dapat menangkap semua acara dari Lokasi Amazon, hanya dengan mengecualikan detail-type bagian tersebut. Sebagai contoh:

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

Acara yang sama dapat disampaikan lebih dari satu kali. Anda dapat menggunakan id acara untuk menghapus duplikat peristiwa yang Anda terima.

Contoh EventBridge acara Amazon untuk Amazon Location Service

Berikut ini adalah contoh acara untuk memasukkan geofence yang diprakarsai dengan menelepon. 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" } } }

Berikut ini adalah contoh acara untuk keluar dari geofence yang diprakarsai dengan menelepon. 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" } } }

Berikut ini adalah contoh peristiwa untuk update posisi, dimulai dengan memanggilBatchUpdateDevicePosition.

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