Todos os produtos
Search
Central de documentação

IoT Platform:Exemplo de script JavaScript

Última atualização: Jun 26, 2026

Este tópico fornece um modelo e um exemplo de script JavaScript para analisar dados enviados a tópicos personalizados.

Modelo de script

var SELF_DEFINE_TOPIC_UPDATE_FLAG = '/user/update'  // Define the following custom topic: /user/update. 
var SELF_DEFINE_TOPIC_ERROR_FLAG = '/user/update/error' // Define the following custom topic: /user/update/error. 
/**
 * Convert data that is sent by a device to a custom topic to JSON data when the device submits the data to IoT Platform. 
 * topic: an input parameter that specifies the topic to which the device sends messages. The value is a string.  
 * rawData: the input parameter. The value is a byte array that cannot be empty. 
 * jsonObj: the output parameter. The value is a JSON object that cannot be empty. 
 */
function transformPayload(topic, rawData) {
    var jsonObj = {};
    return jsonObj;
}

Script de exemplo

Nota

O script de exemplo a seguir analisa apenas mensagens enviadas para tópicos personalizados. Se você definir o parâmetro

Data Type

do produto como

Custom

, também será necessário escrever um script para analisar mensagens da Thing Specification Language (TSL). Para mais informações, consulte

Enviar um script de análise de mensagem do modelo TSL

.

Para obter detalhes sobre custom data formats, consulte Criar um produto.

var SELF_DEFINE_TOPIC_UPDATE_FLAG = '/user/update'  // Define the following custom topic: /user/update. 
var SELF_DEFINE_TOPIC_ERROR_FLAG = '/user/update/error' // Define the following custom topic: /user/update/error. 
/*
  Sample data:
  Use the following custom topic to submit data:
     /user/update. 
  Input:
     topic: /${productKey}/${deviceName}/user/update
     bytes: 0x000000000100320100000000
  Output:
    {
        "prop_float": 0,
        "prop_int16": 50,
        "prop_bool": 1,
        "topic": "/${productKey}/${deviceName}/user/update"
    }
 */
function transformPayload(topic, bytes) {
    var uint8Array = new Uint8Array(bytes.length);
    for (var i = 0; i < bytes.length; i++) {
        uint8Array[i] = bytes[i] & 0xff;
    }
    var dataView = new DataView(uint8Array.buffer, 0);
    var jsonMap = {};

    if(topic.includes(SELF_DEFINE_TOPIC_ERROR_FLAG)) {
        jsonMap['topic'] = topic;
        jsonMap['errorCode'] = dataView.getInt8(0)
    } else if (topic.includes(SELF_DEFINE_TOPIC_UPDATE_FLAG)) {
        jsonMap['topic'] = topic;
        jsonMap['prop_int16'] = dataView.getInt16(5);
        jsonMap['prop_bool'] = uint8Array[7];
        jsonMap['prop_float'] = dataView.getFloat32(8);
    }

    return jsonMap;
}

Instruções

  1. Leia o conteúdo em inglês para compreender O QUE precisa ser comunicado

  2. Escreva o texto em português do Brasil DO ZERO — esqueça a estrutura das frases em inglês

  3. Preserve toda a formatação markdown, blocos de código, links e imagens exatamente como estão

  4. Tags xref (<a data-tag="xref" ...>texto</a>) — preserve a tag INTEIRA com todos os atributos na ordem e caixa originais, traduza APENAS o texto visível entre > e

  5. Aplique todas as regras específicas do idioma rigorosamente

  6. Aplique as regras de stopwords com tolerância zero

  7. Use o modo imperativo em passos numerados e listas de procedimentos

  8. Garanta a consistência terminológica — o mesmo termo deve ter a mesma tradução em todo o documento

  9. Varie os inícios de frase em listas e tabelas — nenhum iniciador deve se repetir mais de 3 vezes

  10. Retorne APENAS o documento markdown em português do Brasil, sem explicações