Todos os produtos
Search
Central de documentação

IoT Platform:Exemplos de uso do SDK para Node.js

Última atualização: Jul 04, 2026

Use o SDK para Node.js da Alibaba Cloud para invocar operações de API no DataService Studio e recuperar dados específicos com facilidade. Este tópico demonstra como usar o SDK para Node.js para chamar a API de métricas predefinidas, apresentando o método e um exemplo prático.

Pré-requisitos

  • Para chamar a API de métricas predefinidas, verifique se o produto e o dispositivo foram criados e se o backup de dados está concluído. Para obter instruções detalhadas, consulte API para métricas predefinidas.

  • Para invocar a API de dados do produto ou personalizar uma API de serviço, confirme se a API correspondente foi criada. Para obter instruções detalhadas, consulte API de dados do produto e Personalizar API de serviço.

Para mais informações, consulte o documento referenciado.

Instale o SDK

  1. Para configurar o ambiente de desenvolvimento Node.js, acesse o site oficial do Node.js e siga as instruções de instalação.

  2. Para instalar o SDK OpenAPI da Alibaba Cloud, execute os comandos a seguir.

    npm install @alicloud/openapi-client
    npm install @alicloud/iot20180120

Iniciar uma solicitação

O exemplo a seguir mostra como chamar as estatísticas históricas de contagem de dispositivos da API de métricas predefinidas no DataService Studio. Modifique o código conforme necessário, com base nas descrições dos parâmetros, para chamar a API desejada.

Importante

O número máximo de solicitações por segundo (QPS) para uma única conta da Alibaba Cloud ao chamar a API do DataService Studio é 100.

const Config = require('@alicloud/openapi-client').Config;
const ListAnalyticsDataRequest = require('@alicloud/iot20180120').ListAnalyticsDataRequest;
const IotClient = require('@alicloud/iot20180120');
const ListAnalyticsDataRequestCondition = require('@alicloud/iot20180120/dist/client').ListAnalyticsDataRequestCondition;
// Create a client
const config = new Config();
config.endpoint = "iot.cn-shanghai.aliyuncs.com";
config.accessKeyId = "LTAI****************";
config.accessKeySecret = "yourAccessKeySecret";
config.regionId = "cn-shanghai";
async function main() {
    const client = new IotClient.default(config);
    // Create a request object
    const listAnalyticsDataRequest = new ListAnalyticsDataRequest();
    // Your API Path
    listAnalyticsDataRequest.apiPath = '/iot-cn-npk1v******/system/query/hist_dev_cnt_stat'
    // Paging parameter: page number
    listAnalyticsDataRequest.pageNum = 1;
    // Paging parameter: page size
    listAnalyticsDataRequest.pageSize = 100;
    // The instance ID where your API is located
    listAnalyticsDataRequest.iotInstanceId = 'iot-cn-npk1v******' 
    // Your API business-related request parameters. For the configuration description of Condition, see the relevant description below.
    const conditions = [];
    const condition = new ListAnalyticsDataRequestCondition();
    condition.operate = '=';
    condition.fieldName = '__instance_id__';
    condition.value = 'iot-public'
    conditions.push(condition)
    const condition1 = new ListAnalyticsDataRequestCondition();
    condition1.operate = '=';
    condition1.fieldName = 'entityId';
    condition1.value = 'all'
    conditions.push(condition1)
    const condition2 = new ListAnalyticsDataRequestCondition();
    condition2.operate = '=';
    condition2.fieldName = 'statDate';
    condition2.value = '20210221'
    conditions.push(condition2)
    listAnalyticsDataRequest.condition = conditions;
    try {
        const response = await client.listAnalyticsData(listAnalyticsDataRequest)
        console.log(response)
    } catch (ex) {
        console.log(ex);
    }
}
main();
  • Parâmetros de solicitação do sistema:

    Nome

    Tipo

    Obrigatório

    Valor de exemplo

    Descrição

    endpoint

    String

    Sim

    iot.cn-shanghai.aliyuncs.com

    O endpoint do servidor da API de serviço da Alibaba Cloud. Certifique-se de que a região corresponda à região do produto IoT Platform.

    Neste exemplo, a região é Leste da China 2 (cn-shanghai).

    accessKeyId

    String

    Sim

    LTAI**

    Acesse o console do IoT Platform, passe o mouse sobre a foto do perfil da conta e clique em AccessKey Management para obter o AccessKey ID e o AccessKey Secret.

    Nota

    Os usuários do Resource Access Management (RAM) devem ter a política AliyunIOTFullAccess anexada para gerenciar recursos do IoT Platform. Caso contrário, a conexão falhará. Para detalhes sobre autorização, consulte Conceder acesso de usuário RAM ao IoT Platform.

    accessKeySecret

    String

    Sim

    **

    regionId

    String

    Sim

    cn-shanghai

    O código da região. Para obter uma lista das regiões suportadas, consulte Regiões suportadas.

    apiPath

    String

    Sim

    iot-cn-npk1u

    O caminho da operação da API. Visualize a lista de APIs no DataService Studio e clique em View para acessar a página do produto da API e obter o valor de API Patch. Para mais detalhes, consulte o documento referenciado.

    pageNum

    Integer

    Obrigatório quando a paginação está ativada

    1

    O número da página para paginação.

    pageSize

    Integer

    Obrigatório quando a paginação está ativada

    100

    O número de entradas por página, até o máximo de 100.

    iotInstanceId

    String

    Sim

    iot-cn-npk1v

    O ID da instância onde sua API está implantada.

  • Parâmetros de solicitação relacionados ao negócio:

    Nome

    Tipo

    Obrigatório

    Descrição

    Código relacionado

    fieldName

    String

    Sim

    O nome do campo para o parâmetro de solicitação.

     condition.fieldName = '__instance_id__';

    operate

    String

    Sim

    O operador usado para o parâmetro de solicitação. As opções incluem:

    • = para correspondências exatas.

    • BETWEEN para intervalos.

    • IN para múltiplos valores.

    • != para exclusões.

     condition.operate = '=';

    value

    String

    Não

    O valor específico para o parâmetro de solicitação.

    Importante

    Este parâmetro é obrigatório, a menos que o operador seja BETWEEN.

     condition.value = 'iot-public';

    betweenStart

    String

    Não

    O valor inicial para um parâmetro de intervalo.

    Importante

    Obrigatório quando o operador é BETWEEN.

     condition.betweenStart = '0';

    betweenEnd

    String

    Não

    O valor final para um parâmetro de intervalo.

    Importante

    Obrigatório quando o operador é BETWEEN.

     condition.betweenEnd = '1000';

    Cada parâmetro de solicitação está associado a uma condition. Defina um número específico de conditions na página do produto da API. Para detalhes sobre como visualizar os parâmetros de solicitação da API, consulte Gerencie API.

    No código de exemplo fornecido, a API possui três parâmetros de solicitação: __instance_id__, entityId e statDate, que correspondem a condition, condition1 e condition2, respectivamente.

Resultado da execução

  • Sucesso:

    A página do produto da API correspondente contém descrições detalhadas dos parâmetros retornados. Para operações específicas, consulte o documento referenciado.

    O exemplo a seguir demonstra uma chamada de API bem-sucedida, retornando estatísticas de contagem de dispositivos para a instância pública de 21 de fevereiro de 2021 até o momento da chamada da API.

    ListAnalyticsDataResponse {
      headers: {
        date: 'Mon, 15 Mar 2021 10:40:58 GMT',
        'content-type': 'application/json;charset=utf-8',
        'content-length': '425',
        connection: 'keep-alive',
        'access-control-allow-origin': '*',
        'access-control-allow-methods': 'POST, GET, OPTIONS',
        'access-control-allow-headers': 'X-Requested-With, X-Sequence, _aop_secret, _aop_signature',
        'access-control-max-age': '172800',
        'x-acs-request-id': 'F278FA13-11E6-42BC-9883-3566AC******'
      },
      body: ListAnalyticsDataResponseBody {
        requestId: 'F278FA13-11E6-42BC-9883-3566AC******',
        success: true,
        data: ListAnalyticsDataResponseBodyData {
          hasNext: false,
          resultJson: '[{"statDate":"20210221","actDevCnt":2942,"onlineDevCntCompare":0.00,"livelyDevCntCompare":8.99,"livelyDevCnt":1527,"onlineDevRate":23.08,"crtDevCnt":169025,"livelyDevRate":51.90,"crtDevCntCompare":0.08,"onlineDevCnt":679,"actDevRate":1.74,"actDevCntCompare":4.55}]',
          pageNum: 1,
          pageSize: 100
        }
      }
    }
  • Falha:

    Examine o código de erro no resultado para identificar o motivo de uma chamada com falha.

    O exemplo a seguir mostra uma chamada de API com falha devido a um parâmetro de solicitação inválido, __instance_idd__. Corrija-o para __instance_id__ e tente a chamada novamente.