

Pemberitahuan akhir dukungan: Pada 20 Mei 2026, AWS akan mengakhiri dukungan untuk AWS IoT Events. Setelah 20 Mei 2026, Anda tidak akan lagi dapat mengakses AWS IoT Events konsol atau AWS IoT Events sumber daya. Untuk informasi selengkapnya, lihat [AWS IoT Events akhir dukungan](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-end-of-support.html).

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

# Kirim pesan sebagai input ke detektor di AWS IoT Events
<a name="iotevents-batch-put-messages"></a>

Anda sekarang telah menentukan input yang mengidentifikasi bidang penting dalam pesan yang dikirim dari perangkat (lihat[Buat AWS IoT Events input untuk menangkap data perangkat](iotevents-create-input.md)). Di bagian sebelumnya, Anda membuat sebuah `detector model` yang merespons peristiwa tekanan berlebih di motor (lihat[Buat model detektor untuk mewakili status perangkat di AWS IoT Events](iotevents-create-detector.md)).

Untuk melengkapi contoh, kirim pesan dari perangkat (dalam hal ini komputer dengan yang AWS CLI diinstal) sebagai input ke detektor. 

**catatan**  
Saat Anda membuat model detektor atau memperbarui yang sudah ada, dibutuhkan beberapa menit sebelum model detektor baru atau yang diperbarui mulai menerima pesan dan membuat detektor (instance). Jika Anda memperbarui model detektor, selama waktu ini Anda mungkin terus melihat perilaku berdasarkan versi sebelumnya.

Gunakan AWS CLI perintah berikut untuk mengirim pesan dengan data yang melanggar ambang batas.

```
aws iotevents-data batch-put-message --cli-input-json file://highPressureMessage.json --cli-binary-format raw-in-base64-out
```

File "`highPressureMessage.json`" berisi yang berikut ini.

```
{
  "messages": [
    {
      "messageId": "00001",
      "inputName": "PressureInput",
      "payload": "{\"motorid\": \"Fulton-A32\", \"sensorData\": {\"pressure\": 80, \"temperature\": 39} }"
    }
  ]
}
```

Anda harus mengubah `messageId` setiap pesan yang dikirim. Jika Anda tidak mengubahnya, AWS IoT Events sistem menghapus duplikasi pesan. AWS IoT Events mengabaikan pesan jika memiliki pesan yang `messageID` sama dengan pesan lain yang dikirim dalam lima menit terakhir.

Pada titik ini, detektor (instance) dibuat untuk memantau peristiwa untuk motor`"Fulton-A32"`. Detektor ini memasuki `"Normal"` status saat dibuat. Tetapi karena kami mengirim nilai tekanan di atas ambang batas, itu segera beralih ke `"Dangerous"` negara. Saat melakukannya, detektor mengirim pesan ke titik akhir Amazon SNS yang ARN-nya. `arn:aws:sns:us-east-1:123456789012:underPressureAction`

Jalankan AWS CLI perintah berikut untuk mengirim pesan dengan data yang berada di bawah ambang tekanan.

```
aws iotevents-data batch-put-message --cli-input-json file://normalPressureMessage.json --cli-binary-format raw-in-base64-out
```

File `normalPressureMessage.json` berisi yang berikut ini.

```
{
  "messages": [
    {
      "messageId": "00002",
      "inputName": "PressureInput",
      "payload": "{\"motorid\": \"Fulton-A32\", \"sensorData\": {\"pressure\": 60, \"temperature\": 29} }"
    }
  ]
}
```

Anda harus mengubah file `messageId` dalam setiap kali Anda memanggil `BatchPutMessage` perintah dalam jangka waktu lima menit. Kirim pesan dua kali lagi. Setelah pesan dikirim tiga kali, detektor (contoh) untuk motor "`Fulton-A32`" mengirim pesan ke titik akhir Amazon SNS `"arn:aws:sns:us-east-1:123456789012:pressureClearedAction"` dan memasuki kembali status. `"Normal"`

**catatan**  
Anda dapat mengirim beberapa pesan sekaligus dengan`BatchPutMessage`. Namun, urutan pemrosesan pesan ini tidak dijamin. Untuk menjamin pesan (input) diproses secara berurutan, kirimkan satu per satu dan tunggu respons yang berhasil setiap kali API dipanggil.

Berikut ini adalah contoh muatan pesan SNS yang dibuat oleh contoh model detektor yang dijelaskan di bagian ini.

**pada acara “Ambang Tekanan Dilanggar”**

```
IoT> {
  "eventTime":1558129816420,
  "payload":{
    "actionExecutionId":"5d7444df-a655-3587-a609-dbd7a0f55267",
    "detector":{
      "detectorModelName":"motorDetectorModel",
      "keyValue":"Fulton-A32",
      "detectorModelVersion":"1"
    },
    "eventTriggerDetails":{
      "inputName":"PressureInput",
      "messageId":"00001",
      "triggerType":"Message"
    },
    "state":{
      "stateName":"Dangerous",
      "variables":{
        "pressureThresholdBreached":3
      },
      "timers":{}
    }
  },
  "eventName":"Pressure Threshold Breached"
}
```

**pada acara “Tekanan Normal Dipulihkan”**

```
IoT> {
  "eventTime":1558129925568,
  "payload":{
    "actionExecutionId":"7e25fd38-2533-303d-899f-c979792a12cb",
    "detector":{
      "detectorModelName":"motorDetectorModel",
      "keyValue":"Fulton-A32",
      "detectorModelVersion":"1"
    },
    "eventTriggerDetails":{
      "inputName":"PressureInput",
      "messageId":"00004",
      "triggerType":"Message"
    },
    "state":{
      "stateName":"Dangerous",
      "variables":{
        "pressureThresholdBreached":0
      },
      "timers":{}
    }
  },
  "eventName":"Normal Pressure Restored"
}
```

Jika Anda telah menentukan timer apa pun, statusnya saat ini juga ditampilkan dalam muatan pesan SNS.

Muatan pesan berisi informasi tentang status detektor (instance) pada saat pesan dikirim (yaitu, pada saat tindakan SNS dijalankan). Anda dapat menggunakan [https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_DescribeDetector.html](https://docs.aws.amazon.com/iotevents/latest/apireference/API_iotevents-data_DescribeDetector.html) operasi untuk mendapatkan informasi serupa tentang keadaan detektor.