

Avviso di fine del supporto: il 20 maggio 2026, AWS terminerà il supporto per AWS IoT Events. Dopo il 20 maggio 2026, non potrai più accedere alla AWS IoT Events console o AWS IoT Events alle risorse. Per ulteriori informazioni, consulta [AWS IoT Events Fine del supporto](https://docs.aws.amazon.com/iotevents/latest/developerguide/iotevents-end-of-support.html).

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à.

# Inserisci messaggi MQTT in AWS IoT Events
<a name="iotevents-commented-example-ingest-mqtt"></a>

Se le risorse di elaborazione dei sensori non possono utilizzare l'`"BatchPutMessage"`API, ma possono inviare i dati al broker di AWS IoT Core messaggi utilizzando un client MQTT leggero, puoi creare una regola AWS IoT Core tematica per reindirizzare i dati dei messaggi a un AWS IoT Events input. Di seguito è riportata una definizione di una regola AWS IoT Events tematica che prende i campi `"areaId"` e `"sensorId"` di input dall'argomento MQTT e il `"sensorData.temperature"` campo dal campo del payload del messaggio e inserisce questi dati `"temp"` nel nostro. AWS IoT Events `"temperatureInput"`

Comando della CLI:

```
aws iot create-topic-rule --cli-input-json file://temperatureTopicRule.json
```

File: `seedSetDesiredTemp.json`

```
{
  "ruleName": "temperatureTopicRule",
  "topicRulePayload": {
    "sql": "SELECT topic(3) as areaId, topic(4) as sensorId, temp as sensorData.temperature FROM 'update/temperature/#'",
    "description": "Ingest temperature sensor messages into IoT Events",
    "actions": [
      {
        "iotEvents": {
          "inputName": "temperatureInput",
          "roleArn": "arn:aws:iam::123456789012:role/service-role/anotheRole" 
        }
      }
    ],
    "ruleDisabled": false,
    "awsIotSqlVersion": "2016-03-23"
  }
}
```

Risposta: [nessuna]

Se il sensore invia un messaggio sull'argomento `"update/temperature/Area51/03"` con il seguente payload.

```
{ "temp": 24.5 }
```

Ciò comporta l'inserimento dei dati AWS IoT Events come se fosse stata effettuata la seguente chiamata `"BatchPutMessage"` API.

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

File: `spoofExample.json`

```
{
  "messages": [
    {
      "messageId": "54321",
      "inputName": "temperatureInput",
      "payload": "{\"sensorId\": \"03\", \"areaId\": \"Area51\", \"sensorData\": {\"temperature\": 24.5} }"
    }
  ]
}
```