

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
<a name="location-events"></a>

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 seperti AWS 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 (`ENTER`dan `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](#enable-update-events).

Untuk informasi selengkapnya, lihat [Pola Peristiwa dan Peristiwa](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html) di *Panduan EventBridge Pengguna Amazon*.

**Topics**
+ [Aktifkan peristiwa pembaruan untuk pelacak](#enable-update-events)
+ [Membuat aturan acara untuk Lokasi Amazon](#create-event-rule)
+ [Contoh EventBridge acara Amazon untuk Amazon Location Service](#example-event)

## Aktifkan peristiwa pembaruan untuk pelacak
<a name="enable-update-events"></a>

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](https://docs.aws.amazon.com/location/latest/APIReference/API_WaypointTracking_CreateTracker.html) atau [memperbarui](https://docs.aws.amazon.com/location/latest/APIReference/API_WaypointTracking_UpdateTracker.html) pelacak.

Misalnya, untuk memperbarui pelacak yang ada menggunakan AWS 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
<a name="create-event-rule"></a>

Anda dapat membuat [hingga 300 aturan per bus acara](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-quota.html) 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](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-visual.html) 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 satu`EventType`, 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](https://docs.aws.amazon.com/sns/latest/dg/sns-user-notifications.html).

**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. 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
<a name="example-event"></a>

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 memanggil`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"
    }
  }
}
```