Mulai melacak - Amazon Location Service

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

Mulai melacak

Bagian ini memandu Anda melalui pembuatan aplikasi pelacakan yang menangkap lokasi perangkat.

Buat pelacak

Buat sumber daya pelacak untuk menyimpan dan memproses pembaruan posisi dari perangkat Anda. Anda dapat menggunakan konsol Amazon Location Service, Amazon Location API AWS CLI, atau Amazon Location.

Setiap pembaruan posisi yang disimpan dalam sumber daya pelacak Anda dapat mencakup ukuran akurasi posisi, dan hingga tiga bidang metadata tentang posisi atau perangkat yang ingin Anda simpan. Metadata disimpan sebagai pasangan nilai kunci, dan dapat menyimpan informasi seperti kecepatan, arah, tekanan ban, atau suhu mesin.

Pelacak memfilter pembaruan posisi saat diterima. Ini mengurangi noise visual di jalur perangkat Anda (disebut jitter), dan mengurangi jumlah peristiwa masuk dan keluar geofence palsu. Ini juga membantu mengelola biaya dengan mengurangi jumlah evaluasi geofence yang dimulai.

Pelacak menawarkan tiga opsi pemfilteran posisi untuk membantu mengelola biaya dan mengurangi jitter di pembaruan lokasi Anda.

  • Berbasis akurasi - Gunakan dengan perangkat apa pun yang memberikan pengukuran akurasi. Sebagian besar perangkat seluler memberikan informasi ini. Keakuratan setiap pengukuran posisi dipengaruhi oleh banyak faktor lingkungan, termasuk penerimaan satelit GPS, lanskap, dan kedekatan perangkat Wi-Fi dan Bluetooth. Sebagian besar perangkat, termasuk sebagian besar perangkat seluler, dapat memberikan perkiraan keakuratan pengukuran bersama dengan pengukuran. Dengan AccuracyBased pemfilteran, Lokasi Amazon mengabaikan pembaruan lokasi jika perangkat bergerak kurang dari akurasi yang diukur. Misalnya, jika dua pembaruan berturut-turut dari perangkat memiliki rentang akurasi 5 m dan 10 m, Amazon Location mengabaikan pembaruan kedua jika perangkat telah bergerak kurang dari 15 m. Lokasi Amazon tidak mengevaluasi pembaruan yang diabaikan terhadap geofences, atau menyimpannya.

    Ketika akurasi tidak disediakan, itu diperlakukan sebagai nol, dan pengukuran dianggap sangat akurat.

    catatan

    Anda juga dapat menggunakan pemfilteran berbasis akurasi untuk menghapus semua pemfilteran. Jika Anda memilih pemfilteran berbasis akurasi, tetapi mengganti semua data akurasi ke nol, atau menghilangkan akurasi sepenuhnya, maka Lokasi Amazon tidak akan memfilter pembaruan apa pun.

  • Berbasis jarakGunakan saat perangkat Anda tidak memberikan pengukuran akurasi, tetapi Anda tetap ingin memanfaatkan penyaringan untuk mengurangi jitter dan mengelola biaya. DistanceBasedpemfilteran mengabaikan pembaruan lokasi di mana perangkat telah bergerak kurang dari 30 m (98,4 kaki). Saat Anda menggunakan pemfilteran DistanceBased posisi, Amazon Location tidak mengevaluasi pembaruan yang diabaikan ini terhadap geofences atau menyimpan pembaruan.

    Keakuratan sebagian besar perangkat seluler, termasuk akurasi rata-rata perangkat iOS dan Android, berada dalam jarak 15 m. Di sebagian besar aplikasi, DistanceBased penyaringan dapat mengurangi efek ketidakakuratan lokasi saat menampilkan lintasan perangkat pada peta, dan efek pantulan dari beberapa peristiwa masuk dan keluar berturut-turut saat perangkat berada di dekat perbatasan geofence. Hal ini juga dapat membantu mengurangi biaya aplikasi Anda, dengan membuat lebih sedikit panggilan untuk mengevaluasi terhadap geofences terkait atau mengambil posisi perangkat.

  • Berbasis waktu — (default) Gunakan saat perangkat Anda mengirim pembaruan posisi sangat sering (lebih dari sekali setiap 30 detik), dan Anda ingin mencapai evaluasi geofence mendekati waktu nyata tanpa menyimpan setiap pembaruan.Dalam TimeBased pemfilteran, setiap pembaruan lokasi dievaluasi terhadap koleksi geofence yang ditautkan, tetapi tidak setiap pembaruan lokasi disimpan. Jika frekuensi pembaruan Anda lebih sering dari 30 detik, hanya satu pembaruan per 30 detik yang disimpan untuk setiap ID perangkat unik.

catatan

Perhatikan biaya aplikasi pelacakan Anda saat memutuskan metode penyaringan Anda dan frekuensi pembaruan posisi. Anda ditagih untuk setiap pembaruan lokasi dan sekali untuk mengevaluasi pembaruan posisi terhadap setiap koleksi geofence yang ditautkan. Misalnya, saat menggunakan pemfilteran berbasis waktu, jika pelacak Anda ditautkan ke dua koleksi geofence, setiap pembaruan posisi akan dihitung sebagai satu permintaan pembaruan lokasi dan dua evaluasi pengumpulan geofence. Jika Anda melaporkan pembaruan posisi setiap 5 detik untuk perangkat Anda dan menggunakan pemfilteran berbasis waktu, Anda akan ditagih untuk 720 pembaruan lokasi dan 1.440 evaluasi geofensi per jam untuk setiap perangkat.

Tagihan Anda tidak terpengaruh oleh jumlah geofences di setiap koleksi. Karena setiap koleksi geofence dapat berisi hingga 50,000 geofences, Anda mungkin ingin menggabungkan geofences Anda menjadi koleksi yang lebih sedikit, jika memungkinkan, untuk mengurangi biaya evaluasi geofence Anda.

Secara default, Anda akan mendapatkan EventBridge acara setiap kali perangkat yang dilacak masuk atau keluar dari geofence yang ditautkan. Untuk informasi selengkapnya, lihat Tautkan pelacak ke koleksi geofence.

Anda dapat mengaktifkan acara untuk semua pembaruan posisi yang difilter untuk sumber daya pelacak. Untuk informasi selengkapnya, lihat Aktifkan peristiwa pembaruan untuk pelacak.

catatan

Jika Anda ingin mengenkripsi data menggunakan kunci yang dikelola AWS KMS pelanggan Anda sendiri, maka fitur Bounding Polygon Queries akan dinonaktifkan secara default. Ini karena dengan menggunakan fitur Bounding Polygon Queries ini, representasi posisi perangkat Anda tidak akan dienkripsi menggunakan kunci terkelola Anda. AWS KMS Namun, posisi perangkat yang tepat masih dienkripsi menggunakan kunci terkelola Anda.

Anda dapat memilih untuk ikut serta ke fitur Bounding Polygon Query dengan menyetel KmsKeyEnableGeospatialQueries parameter ke true saat membuat atau memperbarui Tracker.

Console

Untuk membuat pelacak menggunakan konsol Lokasi Amazon

  1. Buka konsol Amazon Location Service di https://console.aws.amazon.com/location/.

  2. Di panel navigasi kiri, pilih Pelacak.

  3. Pilih Buat pelacak.

  4. Isi kolom berikut:

    • Nama — Masukkan nama unik. Misalnya, ExampleTracker. Maksimal 100 karakter. Entri yang valid termasuk karakter alfanumerik, tanda hubung, titik, dan garis bawah.

    • Deskripsi - Masukkan deskripsi opsional.

  5. Di bawah Pemfilteran posisi, pilih opsi yang paling sesuai dengan cara Anda ingin menggunakan sumber daya pelacak Anda. Jika Anda tidak mengatur Pemfilteran posisi, pengaturan defaultnya adalahTimeBased. Untuk informasi selengkapnya, lihat Pelacak di panduan ini, dan PositionFiltering di Referensi API Amazon Location Service Trackers.

  6. (Opsional) Di bawah Tag, masukkan tag Kunci dan Nilai. Ini menambahkan tag koleksi geofence baru Anda. Untuk informasi selengkapnya, lihat Menandai sumber daya Anda.

  7. (Opsional) Di bawah enkripsi kunci terkelola Pelanggan, Anda dapat memilih untuk Menambahkan kunci terkelola pelanggan. Ini menambahkan kunci terkelola pelanggan simetris yang Anda buat, miliki, dan kelola melalui enkripsi yang AWS dimiliki default. Untuk informasi selengkapnya, lihat Mengenkripsi data saat istirahat.

  8. (Opsional) Di bawah KmsKeyEnableGeospatialQueries, Anda dapat memilih untuk mengaktifkan Kueri Geospasial. Ini memungkinkan Anda menggunakan fitur Bounding Polygon Queries, sambil mengenkripsi data Anda menggunakan kunci terkelola AWS KMS pelanggan.

    catatan

    Saat Anda menggunakan fitur Bounding Polygon Query, representasi posisi perangkat Anda tidak akan dienkripsi menggunakan kunci terkelola. AWS KMS Namun, posisi perangkat yang tepat masih dienkripsi menggunakan kunci terkelola Anda.

  9. (Opsional) Di bawah EventBridge konfigurasi, Anda dapat memilih untuk mengaktifkan EventBridge acara untuk pembaruan posisi yang difilter. Ini akan mengirimkan acara setiap kali pembaruan posisi untuk perangkat di pelacak ini memenuhi evaluasi penyaringan posisi.

  10. Pilih Buat pelacak.

API

Untuk membuat pelacak dengan menggunakan Amazon Location API

Gunakan CreateTracker operasi dari Amazon Location Trackers API.

Contoh berikut menggunakan permintaan API untuk membuat pelacak yang disebut ExampleTracker. Sumber daya pelacak dikaitkan dengan AWS KMS kunci yang dikelola pelanggan untuk mengenkripsi data pelanggan, dan tidak mengaktifkan pembaruan posisi. EventBridge

POST /tracking/v0/trackers Content-type: application/json { "TrackerName": "ExampleTracker", "Description": "string", "KmsKeyEnableGeospatialQueries": false, "EventBridgeEnabled": false, "KmsKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "PositionFiltering": "AccuracyBased", "Tags": { "string" : "string" } }

Buat pelacak dengan diaktifkan KmsKeyEnableGeospatialQueries

Contoh berikut memiliki parameter KmsKeyEnableGeospatialQueries diatur ke true. Ini memungkinkan Anda menggunakan fitur Bounding Polygon Queries, sambil mengenkripsi data menggunakan kunci yang dikelola pelanggan. AWS KMS

Untuk informasi tentang penggunaan fitur Bounding Polygon Query, lihat

catatan

Saat Anda menggunakan fitur Bounding Polygon Query, representasi posisi perangkat Anda tidak akan dienkripsi menggunakan kunci terkelola. AWS KMS Namun, posisi perangkat yang tepat masih dienkripsi menggunakan kunci terkelola Anda.

POST /tracking/v0/trackers Content-type: application/json { "TrackerName": "ExampleTracker", "Description": "string", "KmsKeyEnableGeospatialQueries": true, "EventBridgeEnabled": false, "KmsKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "PositionFiltering": "AccuracyBased", "Tags": { "string" : "string" } }
AWS CLI

Untuk membuat pelacak menggunakan perintah AWS CLI

Gunakan perintah create-tracker.

Contoh berikut menggunakan AWS CLI untuk membuat pelacak yang disebut ExampleTracker. Sumber daya pelacak dikaitkan dengan AWS KMS kunci yang dikelola pelanggan untuk mengenkripsi data pelanggan, dan tidak mengaktifkan pembaruan posisi. EventBridge

aws location \ create-tracker \ --tracker-name "ExampleTracker" \ --position-filtering "AccuracyBased" \ --event-bridge-enabled false \ --kms-key-enable-geospatial-queries false \ --kms-key-id "1234abcd-12ab-34cd-56ef-1234567890ab"

Buat pelacak dengan diaktifkan KmsKeyEnableGeospatialQueries

Contoh berikut memiliki parameter KmsKeyEnableGeospatialQueries diatur ke true. Ini memungkinkan Anda menggunakan fitur Bounding Polygon Queries, sambil mengenkripsi data menggunakan kunci yang dikelola pelanggan. AWS KMS

Untuk informasi tentang penggunaan fitur Bounding Polygon Query, lihat

catatan

Saat Anda menggunakan fitur Bounding Polygon Query, representasi posisi perangkat Anda tidak akan dienkripsi menggunakan kunci terkelola. AWS KMS Namun, posisi perangkat yang tepat masih dienkripsi menggunakan kunci terkelola Anda.

aws location \ create-tracker \ --tracker-name "ExampleTracker" \ --position-filtering "AccuracyBased" \ --event-bridge-enabled false \ --kms-key-enable-geospatial-queries true \ --kms-key-id "1234abcd-12ab-34cd-56ef-1234567890ab"
catatan

Penagihan tergantung pada penggunaan Anda. Anda mungkin dikenakan biaya untuk penggunaan AWS layanan lain. Untuk informasi selengkapnya, lihat harga Amazon Location Service.

Anda dapat mengedit Deskripsi, Pemfilteran posisi, dan EventBridge konfigurasi setelah pelacak dibuat dengan memilih Edit tracker.

Mengautentikasi permintaan Anda

Setelah Anda membuat sumber daya pelacak dan Anda siap untuk mulai mengevaluasi posisi perangkat terhadap geofences, pilih bagaimana Anda akan mengautentikasi permintaan Anda:

  • Untuk mempelajari cara mengakses layanan, lihat Mengakses Amazon Location Service.

  • Jika Anda ingin mempublikasikan posisi perangkat dengan permintaan yang tidak diautentikasi, Anda mungkin ingin menggunakan Amazon Cognito.

    Contoh

    Contoh berikut menunjukkan penggunaan kumpulan identitas Amazon Cognito untuk otorisasi, menggunakan AWS JavaScript SDK v3, dan Lokasi Amazon. JavaScript Pembantu otentikasi

    import { LocationClient, BatchUpdateDevicePositionCommand } from "@aws-sdk/client-location"; import { withIdentityPoolId } from "@aws/amazon-location-utilities-auth-helper"; // Unauthenticated identity pool you created const identityPoolId = "us-east-1:1234abcd-5678-9012-abcd-sample-id"; // Create an authentication helper instance using credentials from Cognito const authHelper = await withIdentityPoolId(identityPoolId); const client = new LocationClient({ region: "us-east-1", // The region containing both the identity pool and tracker resource ...authHelper.getLocationClientConfig(), // Provides configuration required to make requests to Amazon Location }); const input = { TrackerName: "ExampleTracker", Updates: [ { DeviceId: "ExampleDevice-1", Position: [-123.4567, 45.6789], SampleTime: new Date("2020-10-02T19:09:07.327Z"), }, { DeviceId: "ExampleDevice-2", Position: [-123.123, 45.123], SampleTime: new Date("2020-10-02T19:10:32Z"), }, ], }; const command = new BatchUpdateDevicePositionCommand(input); // Send device position updates const response = await client.send(command);

Perbarui pelacak Anda dengan posisi perangkat

Untuk melacak perangkat Anda, Anda dapat memposting pembaruan posisi perangkat ke pelacak Anda. Anda kemudian dapat mengambil posisi perangkat ini atau riwayat posisi perangkat dari sumber daya pelacak Anda.

Setiap pembaruan posisi harus menyertakan ID perangkat, stempel waktu, dan posisi. Anda dapat secara opsional menyertakan metadata lain, termasuk akurasi dan hingga 3 pasangan nilai kunci untuk Anda gunakan sendiri.

Jika pelacak Anda ditautkan ke satu atau beberapa koleksi geofence, pembaruan akan dievaluasi terhadap geofences tersebut (mengikuti aturan pemfilteran yang Anda tentukan untuk pelacak). Jika perangkat melanggar area geofenced (dengan berpindah dari dalam area ke luar, atau sebaliknya), Anda akan menerima acara di. EventBridge Ini ENTER atau EXIT peristiwa mencakup detail pembaruan posisi, termasuk ID perangkat, stempel waktu, dan metadata terkait apa pun.

catatan

Untuk informasi selengkapnya tentang pemfilteran posisi, lihatBuat pelacak.

Untuk informasi selengkapnya tentang peristiwa geofence, lihat. Bereaksi terhadap peristiwa Amazon Location Service dengan Amazon EventBridge

Gunakan salah satu metode ini untuk mengirim pembaruan perangkat:

  • Kirim pembaruan MQTT ke sumber daya AWS IoT Core dan tautkan ke sumber daya pelacak Anda.

  • Kirim pembaruan lokasi menggunakan Amazon Location Trackers API, dengan menggunakan AWS CLI, atau Amazon Location API. Anda dapat menggunakan AWS SDK untuk memanggil API dari aplikasi iOS atau Android Anda.

API

Untuk mengirim pembaruan posisi menggunakan Amazon Location API

Gunakan BatchUpdateDevicePosition operasi dari Amazon Location Trackers API.

Contoh berikut menggunakan permintaan API untuk memposting pembaruan posisi perangkat ExampleDeviceke pelacak ExampleTracker.

POST /tracking/v0/trackers/ExampleTracker/positions Content-type: application/json { "Updates": [ { "DeviceId": "1", "Position": [ -123.12245146162303, 49.27521118043802 ], "SampleTime": "2022-10-24T19:09:07.327Z", "PositionProperties": { "name" : "device1" }, "Accuracy": { "Horizontal": 10 } }, { "DeviceId": "2", "Position": [ -123.1230104928471, 49.27752402723152 ], "SampleTime": "2022-10-02T19:09:07.327Z" }, { "DeviceId": "3", "Position": [ -123.12325592118916, 49.27340530543111 ], "SampleTime": "2022-10-02T19:09:07.327Z" }, { "DeviceId": "4", "Position": [ -123.11958813096311, 49.27774641063121 ], "SampleTime": "2022-10-02T19:09:07.327Z" }, { "DeviceId": "5", "Position": [ -123.1277418058896, 49.2765989015285 ], "SampleTime": "2022-10-02T19:09:07.327Z" }, { "DeviceId": "6", "Position": [ -123.11964267059481, 49.274188155916534 ], "SampleTime": "2022-10-02T19:09:07.327Z" } ] }
AWS CLI

Untuk mengirim pembaruan posisi menggunakan AWS CLI perintah

Gunakan perintah batch-update-device-position.

Contoh berikut menggunakan AWS CLI untuk memposting pembaruan posisi perangkat untuk ExampleDevice-1 dan ExampleDevice-2 ke pelacak ExampleTracker.

aws location batch-update-device-position \ --tracker-name ExampleTracker \ --updates '[{"DeviceId":"ExampleDevice-1","Position":[-123.123,47.123],"SampleTime":"2021-11-30T21:47:25.149Z"},{"DeviceId":"ExampleDevice-2","Position":[-123.123,47.123],"SampleTime":"2021-11-30T21:47:25.149Z","Accuracy":{"Horizontal":10.30},"PositionProperties":{"field1":"value1","field2":"value2"}}]'

Dapatkan riwayat lokasi perangkat dari pelacak

Sumber daya pelacak Lokasi Amazon Anda menyimpan riwayat lokasi semua perangkat yang dilacak selama 30 hari. Anda dapat mengambil riwayat lokasi perangkat, termasuk semua metadata terkait, dari sumber daya pelacak Anda. Contoh berikut menggunakan AWS CLI, atau Amazon Location API.

API

Untuk mendapatkan riwayat lokasi perangkat dari pelacak menggunakan Amazon Location API

Gunakan GetDevicePositionHistory operasi dari Amazon Location Trackers API.

Contoh berikut menggunakan permintaan URI API untuk mendapatkan riwayat lokasi perangkat dari pelacak yang disebut ExampleTrackermulai ExampleDevicedari 19:05:07 (inklusif) dan berakhir pada 19:20:07 (eksklusif) aktif. 2020–10–02

POST /tracking/v0/trackers/ExampleTracker/devices/ExampleDevice/list-positions Content-type: application/json { "StartTimeInclusive": "2020-10-02T19:05:07.327Z", "EndTimeExclusive": "2020-10-02T19:20:07.327Z" }
AWS CLI

Untuk mendapatkan riwayat lokasi perangkat dari pelacak menggunakan perintah AWS CLI

Gunakan perintah get-device-position-history.

Contoh berikut menggunakan AWS CLI untuk mendapatkan riwayat lokasi perangkat dari pelacak yang disebut ExampleTrackermulai ExampleDevicedari 19:05:07 (inklusif) dan berakhir pada 19:20:07 (eksklusif) aktif. 2020–10–02

aws location \ get-device-position-history \ --device-id "ExampleDevice" \ --start-time-inclusive "2020-10-02T19:05:07.327Z" \ --end-time-exclusive "2020-10-02T19:20:07.327Z" \ --tracker-name "ExampleTracker"

Buat daftar posisi perangkat Anda

Anda dapat melihat daftar posisi perangkat untuk pelacak menggunakan AWS CLI, atau Amazon Location API, dengan ListDevicePositions API. Saat Anda memanggil ListDevicePositions API, daftar posisi terbaru untuk semua perangkat yang terkait dengan pelacak tertentu akan ditampilkan. Secara default API ini mengembalikan 100 posisi perangkat terbaru per halaman hasil untuk pelacak tertentu. Untuk hanya mengembalikan perangkat dalam wilayah tertentu, gunakan FilterGeometry parameter untuk membuat Kueri Poligon Bounding. Dengan cara ini saat Anda menelepon ListDevicePositions, hanya perangkat di dalam poligon yang akan dikembalikan.

catatan

Jika Anda ingin mengenkripsi data menggunakan kunci yang dikelola AWS KMS pelanggan Anda sendiri, maka fitur Bounding Polygon Queries akan dinonaktifkan secara default. Ini karena dengan menggunakan fitur ini, representasi posisi perangkat Anda tidak akan dienkripsi menggunakan kunci AWS KMS terkelola Anda. Posisi perangkat yang tepat, bagaimanapun; masih dienkripsi menggunakan kunci terkelola Anda.

Anda dapat memilih untuk ikut serta dalam fitur Bounding Polygon Queries. Ini dilakukan dengan mengatur KmsKeyEnableGeospatialQueries parameter ke true saat membuat atau memperbarui Tracker.

API

Gunakan ListDevicePositions operasi dari Amazon Location Trackers API.

Contoh berikut adalah permintaan API untuk mendapatkan daftar posisi perangkat di area poligonal, menggunakan parameter opsional. FilterGeometry Contoh mengembalikan 3 lokasi perangkat hadir di area yang ditentukan oleh Polygon array.

POST /tracking/v0/trackers/TrackerName/list-positions HTTP/1.1 Content-type: application/json { "FilterGeometry": { "Polygon": [ [ [ -123.12003339442259, 49.27425121147397 ], [ -123.1176984148229, 49.277063620879744 ], [ -123.12389509145294, 49.277954183760926 ], [ -123.12755921328647, 49.27554025235713 ], [ -123.12330236586217, 49.27211836076236 ], [ -123.12003339442259, 49.27425121147397 ] ] ] }, "MaxResults": 3, "NextToken": "1234-5678-9012" }

Berikut ini adalah contoh respons untukListDevicePositions:

{ "Entries": [ { "DeviceId": "1", "SampleTime": "2022-10-24T19:09:07.327Z", "Position": [ -123.12245146162303, 49.27521118043802 ], "Accuracy": { "Horizontal": 10 }, "PositionProperties": { "name": "device1" } }, { "DeviceId": "3", "SampleTime": "2022-10-02T19:09:07.327Z", "Position": [ -123.12325592118916, 49.27340530543111 ] }, { "DeviceId": "2", "SampleTime": "2022-10-02T19:09:07.327Z", "Position": [ -123.1230104928471, 49.27752402723152 ] } ], "NextToken": "1234-5678-9012" }
CLI

Gunakan perintah list-trackers.

Contoh berikut adalah AWS CLI untuk mendapatkan daftar perangkat di area poligonal.

aws location list-device-positions TODO: add arguments add props for filter geo