

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Formato de carga útil de mensajes para el broker EMQX en Edge AWS IoT SiteWise
<a name="connect-broker-payload-format"></a>

Para que el componente de SiteWise editor de IoT consuma datos de su aplicación externa y los publique AWS IoT SiteWise en la nube, la carga útil enviada al intermediario debe cumplir requisitos específicos.

Comprender el formato de la carga útil es clave para una comunicación exitosa de MQTT con Edge. AWS IoT SiteWise Si bien el proceso de configuración de la conexión se explica en secciones posteriores, primero presentamos los requisitos de carga útil para ayudarlo a planificar su implementación.

## Requisitos del tema MQTT
<a name="connect-broker-mqtt-requirements"></a>

No hay restricciones en la estructura de los temas de MQTT, incluida la cantidad de niveles o caracteres utilizados. Sin embargo, recomendamos que el tema coincida con el `propertyAlias` campo de la carga útil.

**Example Ejemplo de alias de propiedad**  
Si el tema de MQTT es`site1/line1/compressor1/temperature`, asegúrese de que `propertyAlias` coincidan.  

```
{
  "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
      }
    }
  ]
}
```

## Estructura de carga útil de JSON
<a name="connect-broker-json-payload"></a>

[La carga útil de los mensajes MQTT está escrita en JSON y sigue el formato de `PutAssetPropertyValueEntry` mensaje definido en la referencia de la 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"
         }
      }
   ]
}
```

**nota**  
Para que un mensaje se considere válido, solo se puede cumplir una de las siguientes condiciones:  
El `propertyAlias` está establecido, o
Ambos `assetId` y `propertyId` están configurados
`PutAssetPropertyValueEntry`Tiene un `entryId` campo que no es obligatorio en este contexto.