更新时间:2023-11-29 GMT+08:00

查询设备

功能介绍

查询设备。设备名称、设备标识、客户端ID联合查询,设备数量过多时可能存在查询超时,建议只查询单个条件并增加查询字段。

URI

GET /v2/{project_id}/link/instances/{instance_id}/devices

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方式请参见API参考的“附录 > 获取项目ID”章节。

最小长度:0

最大长度:32

instance_id

String

实例的ID

最小长度:0

最大长度:36

表2 Query参数

参数

是否必选

参数类型

描述

limit

Integer

每页显示条目数量,最大数量999,超过999后只返回999

最小值:0

最大值:999999

缺省值:10

offset

Integer

偏移量,表示从此偏移量开始查询, offset大于等于0

最小值:0

最大值:999999

缺省值:0

app_id

String

应用ID

最小长度:0

最大长度:36

product_id

Integer

设备归属的产品ID

最小值:1

最大值:999999999999999999

product_name

String

设备归属的产品名称

最小长度:2

最大长度:32

device_name

String

设备名称,支持中文、中文标点符号()。;,:“”、?《》及英文大小写、数字及英文符号()_,#.?'-@%&!, 长度2-64。设备名称、客户端ID、设备物理编号联合查询,设备数量过多时可能存在查询超时,建议只查询单个条件并增加查询字段。

最小长度:2

最大长度:64

client_id

String

设备客户端ID,平台生成的设备唯一标识。设备名称、客户端ID、设备物理编号联合查询,设备数量过多时可能存在查询超时,建议只查询单个条件并增加查询字段。

最小长度:2

最大长度:32

node_id

String

设备物理编号,通常使用MAC或者IMEI号,支持英文大小写,数字,下划线和中划线,长度2-64。设备名称、客户端ID、设备物理编号联合查询,设备数量过多时可能存在查询超时,建议只查询单个条件并增加查询字段。同时查询多个设备物理编号可以用逗号分隔。

最小长度:2

最大长度:64

node_type

Integer

节点类型 0-直连 1-网关 2-子设备,不传默认查询所有

最小值:0

最大值:10

online_status

String

是否在线 0-未连接 1-在线 2-离线,支持传入多个值以逗号分隔

最小长度:0

最大长度:10

created_date_start

Long

创建时间起始,格式timestamp(ms),使用UTC时区

最小值:1

最大值:999999999999999999

created_date_end

Long

创建时间截止,格式timestamp(ms),使用UTC时区

最小值:1

最大值:999999999999999999

tag

String

标签

最小长度:0

最大长度:200

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

最小长度:1

最大长度:100000

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

total

Integer

总数

最小值:1

最大值:99999

size

Integer

本次返回数量

最小值:1

最大值:1000

connect_address

String

设备接入地址

最小长度:0

最大长度:200

ssl_connect_address

String

设备接入SSL地址

最小长度:0

最大长度:200

ipv6_connect_address

String

设备接入IPv6地址,在开启IPv6时生效

最小长度:0

最大长度:200

ipv6_ssl_connect_address

String

设备接入IPv6 SSL地址,在开启IPv6时生效

最小长度:0

最大长度:200

items

Array of Device objects

设备ID列表

数组长度:1 - 9999

表5 Device

参数

参数类型

描述

permissions

Array of strings

权限

id

Integer

设备ID

最小值:1

最大值:99999999999999999

device_id

Integer

设备ID(兼容20.0)

最小值:1

最大值:99999999999999999

parent_device_id

Integer

父设备ID

最小值:1

最大值:99999999999999999

parent_device_name

String

父设备名称

最小长度:2

最大长度:64

product

ProductReferer object

产品

device_name

String

设备名称,支持中文、中文标点符号()。;,:“”、?《》及英文大小写、数字及英文符号()_,#.?'-@%&!, 长度2-64

最小长度:2

最大长度:64

instance_id

String

实例id

最小长度:2

最大长度:64

client_id

String

设备客户端ID,平台生成的设备唯一标识

最小长度:0

最大长度:32

node_id

String

设备物理编号,通常使用MAC或者IMEI号,支持英文大小写,数字,下划线和中划线,长度2-64

最小长度:2

最大长度:64

app_name

String

应用名称

最小长度:0

最大长度:256

status

Integer

设备状态 0-启用 1-禁用

最小值:0

最大值:10

online_status

Integer

是否在线 0-未连接 1-在线 2-离线

最小值:0

最大值:10

description

String

备注

最小长度:0

最大长度:200

authentication

Authentication object

鉴权

created_user

CreatedUser object

创建时的用户

last_updated_user

LastUpdatedUser object

最后更新时的用户

tags

Array of strings

标签

最小长度:1

最大长度:64

数组长度:1 - 9999

created_datetime

Long

创建时间,timestamp(ms),使用UTC时区

最小值:1

最大值:99999999999999999

last_updated_datetime

Long

最后修改时间,timestamp(ms),使用UTC时区

最小值:1

最大值:99999999999999999

connect_address

String

设备接入地址

最小长度:0

最大长度:200

ssl_connect_address

String

设备接入SSL地址

最小长度:0

最大长度:200

ipv6_connect_address

String

设备接入IPv6地址,在开启IPv6时生效

最小长度:0

最大长度:200

ipv6_ssl_connect_address

String

设备接入IPv6 SSL地址,在开启IPv6时生效

最小长度:0

最大长度:200

last_login_datetime

Long

最后登录时间

最小值:1

最大值:99999999999999999

node_type

Integer

节点类型 0-直连 1-网关 2-子设备

最小值:1

最大值:99999999999999999

device_type

Integer

设备类型

  • 0-普通设备(无子设备也无父设备)

  • 1-网关设备(可挂载子设备)

  • 2-子设备(归属于某个网关设备)

最小值:0

最大值:10

client_ip

String

客户端ip

最小长度:0

最大长度:64

keep_alive

String

心跳时间

最小长度:0

最大长度:200

last_active_time

Long

最后登录时间

最小值:1

最大值:99999999999999999

version

String

设备版本

最小长度:0

最大长度:64

app_id

String

应用ID

最小长度:0

最大长度:36

表6 ProductReferer

参数

参数类型

描述

product_id

Integer

产品ID,未填写厂商ID+型号时产品ID必填

最小值:1

最大值:99999999999999999

product_name

String

产品名称

最小长度:0

最大长度:64

manufacturer_id

String

厂商ID,未填写产品ID时厂商ID和型号必填

最小长度:0

最大长度:64

model

String

型号,未填写产品ID时厂商ID和型号必填

最小长度:0

最大长度:64

protocol_type

Integer

产品的协议类型:0-mqtt,1-CoAP,2-modbus,4-opcua,5-扩展协议

最小值:0

最大值:5

product_type

Integer

产品类型:0-普通产品 1-网关产品

最小值:0

最大值:10

extend_protocol_name

String

扩展协议名称

最小长度:0

最大长度:64

表7 Authentication

参数

参数类型

描述

user_name

String

一型一密/一机一密的用户名

最小长度:0

最大长度:64

password

String

一型一密/一机一密的密码,输入要求:至少1个数字,1个大写字母,1个小写字母,1个特殊字符(~!@#$%^&*()-_=+|[{}];:<>/?),长度8-32个字符

最小长度:0

最大长度:64

表8 CreatedUser

参数

参数类型

描述

user_id

String

用户ID(保留字段,未使用)

最小长度:0

最大长度:64

user_name

String

用户名

最小长度:0

最大长度:64

表9 LastUpdatedUser

参数

参数类型

描述

user_id

String

用户ID(保留字段,未使用)

最小长度:0

最大长度:64

user_name

String

用户名

最小长度:0

最大长度:64

状态码: 400

表10 响应Body参数

参数

参数类型

描述

error_code

String

系统错误码,针对4xx和5xx类HTTP错误码的详细错误码

最小长度:0

最大长度:64

error_msg

String

错误描述

最小长度:0

最大长度:200

request_id

String

消息ID

最小长度:0

最大长度:64

状态码: 404

表11 响应Body参数

参数

参数类型

描述

error_code

String

系统错误码,针对4xx和5xx类HTTP错误码的详细错误码

最小长度:0

最大长度:64

error_msg

String

错误描述

最小长度:0

最大长度:200

request_id

String

消息ID

最小长度:0

最大长度:64

状态码: 500

表12 响应Body参数

参数

参数类型

描述

error_code

String

系统错误码,针对4xx和5xx类HTTP错误码的详细错误码

最小长度:0

最大长度:64

error_msg

String

错误描述

最小长度:0

最大长度:200

request_id

String

消息ID

最小长度:0

最大长度:64

请求示例

GET /{project_id}/link/instances/{instance_id}/devices

响应示例

状态码: 200

OK(如果所有地址返回"--",表示所有节点部署了独占模式的协议插件,无法使用MQTT或CoAP协议;如果CoAP链接地址返回"--",表示需要先配置外接ELB。)

{
  "total" : 1,
  "size" : 1,
  "items" : [ {
    "permissions" : [ "read", "access", "delete", "modify" ],
    "id" : 711537,
    "parent_device_id" : 711536,
    "parent_device_name" : "parent-device",
    "product" : {
      "product_id" : 116303,
      "product_name" : "p1",
      "manufacturer_id" : "p1",
      "model" : "p1",
      "product_type" : 0,
      "protocol_type" : 0
    },
    "device_name" : "device",
    "instance_id" : "8993a690-cf61-46af-880d-587d823d14e5",
    "client_id" : "D116303711537sGDtK",
    "node_id" : "string",
    "app_name" : "app",
    "status" : 0,
    "online_status" : 2,
    "description" : "device",
    "authentication" : {
      "user_name" : "F01A8D25FE6E4CF5A286B711B31888AE",
      "password" : "************************"
    },
    "created_user" : {
      "user_id" : "",
      "user_name" : "user"
    },
    "last_updated_user" : {
      "user_id" : "",
      "user_name" : "user"
    },
    "tags" : [ ],
    "created_datetime" : 1607408244841,
    "last_updated_datetime" : 1607422571094,
    "connect_address" : "xx.xx.xx.xx",
    "ssl_connect_address" : "xx.xx.xx.xx",
    "ipv6_connect_address" : "xx.xx.xx.xx",
    "ipv6_ssl_connect_address" : "xx.xx.xx.xx",
    "coap_connect_address" : "xx.xx.xx.xx",
    "coap_ssl_connect_address" : "xx.xx.xx.xx",
    "coap_ipv6_connect_address" : "xx.xx.xx.xx",
    "coap_ipv6_ssl_connect_address" : "xx.xx.xx.xx",
    "node_type" : 0,
    "device_type" : 0,
    "app_id" : "cb4b3ec0-8f7f-432f-b05e-fc149d05da5d"
  } ]
}

状态码: 400

Bad Request

{
  "error_code" : "SCB.00000000",
  "error_msg" : "Parameter is not valid for operation [romalink.link-device.batchQuery]. Parameter is [node_type]. Processor is [body].",
  "request_id" : "cb39e78a-afd3-4e04-901d-70468b1c23dc-1619602712496-cnnorth7a-P-romalink-service01"
}

状态码: 404

Not Found

{
  "error_code" : "SCB.00000000",
  "error_msg" : "Not Found",
  "request_id" : "624c8be1-39b6-47b7-941d-c159aced368a-1619602544650-cnnorth7a-P-romalink-service01"
}

状态码: 500

Internal Server Error

{
  "error_code" : "ROMA.00110002",
  "error_msg" : "The instance does not exist. project_id: 397cd10b30544c588b2f4a56d83856c4, instance_id: f3bb386a-23ec-47aa-9943-4c60ac658611",
  "request_id" : "c8c06d0a-be92-4fdf-9d10-bc20131ab158-1619593104919-cnnorth7a-P-romalink-service01"
}

状态码

状态码

描述

200

OK(如果所有地址返回"--",表示所有节点部署了独占模式的协议插件,无法使用MQTT或CoAP协议;如果CoAP链接地址返回"--",表示需要先配置外接ELB。)

400

Bad Request

404

Not Found

500

Internal Server Error

错误码

请参见错误码