

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Format de charge utile des messages pour le courtier EMQX sur Edge AWS IoT SiteWise
<a name="connect-broker-payload-format"></a>

Pour que le composant SiteWise éditeur IoT puisse consommer les données de votre application externe et les publier AWS IoT SiteWise dans le cloud, la charge utile envoyée au courtier doit répondre à des exigences spécifiques.

Comprendre le format de charge utile est essentiel pour une communication MQTT réussie avec AWS IoT SiteWise Edge. Bien que le processus de configuration de la connexion soit abordé dans les sections suivantes, nous présentons d'abord les exigences en matière de charge utile pour vous aider à planifier votre mise en œuvre.

## Exigences relatives aux rubriques MQTT
<a name="connect-broker-mqtt-requirements"></a>

Il n'y a aucune restriction quant à la structure des rubriques MQTT, y compris le nombre de niveaux ou de caractères utilisés. Cependant, nous recommandons que le sujet corresponde au `propertyAlias` champ de la charge utile.

**Example Exemple d'alias de propriété**  
Si le sujet du MQTT l'est`site1/line1/compressor1/temperature`, assurez-vous que les `propertyAlias` correspondances sont correctes.  

```
{
  "assetId": "compressor_asset_01",
  "propertyAlias": "site1/line1/compressor1/temperature",
  "propertyId": "temperature_sensor_01",
  "propertyValues": [
    {
      "quality": "GOOD",
      "timestamp": {
        "offsetInNanos": 0,
        "timeInSeconds": 1683000000
      },
      "value": {
        "doubleValue": 23.5
      }
    }
  ]
}
```

## Structure de charge utile JSON
<a name="connect-broker-json-payload"></a>

La charge utile des messages MQTT est écrite en JSON et suit le format de `PutAssetPropertyValueEntry` message défini dans la référence d'[AWS IoT SiteWise API](https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_PutAssetPropertyValueEntry.html).

```
{
   "assetId": "string",
   "propertyAlias": "string",
   "propertyId": "string",
   "propertyValues": [
      {
         "quality": "string",
         "timestamp": {
            "offsetInNanos": number,
            "timeInSeconds": number
         },
         "value": {
            "booleanValue": boolean,
            "doubleValue": number,
            "integerValue": number,
            "stringValue": "string"
         }
      }
   ]
}
```

**Note**  
Pour qu'un message soit considéré comme valide, seule l'une des conditions suivantes peut être vraie :  
Le `propertyAlias` est défini, ou
Les deux `assetId` et `propertyId` sont définis
`PutAssetPropertyValueEntry`Il contient un `entryId` champ qui n'est pas obligatoire dans ce contexte.