注册边缘节点
功能介绍
该API用于注册一个边缘节点。接口调用成功后,您可以将响应消息体中node.package字段使用base64解码成tar.gz文件,并在控制台下载边缘核心软件,然后纳管边缘节点。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
POST /v2/{project_id}/edgemgr/nodes
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Content-Type |
是 |
String |
消息体的类型(格式),默认取值为“application/json” |
X-Auth-Token |
是 |
String |
用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
ief-instance-id |
否 |
String |
铂金版实例ID,专业版实例为空值 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
node |
是 |
EdgeNode object |
边缘节点参数 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
边缘节点名称,只允许中文字符、英文字母、数字、下划线、中划线,最大长度64 Name为必填字段,且本账号中唯一。 |
description |
否 |
String |
边缘节点描述,最大长度255,不允许^ ~ # $ % & * < > ( ) [ ] { } ' " \ |
enable_gpu |
否 |
Boolean |
边缘节点是否开启GPU,默认为false |
log_configs |
否 |
Array of LogConfigs objects |
边缘节点日志配置,当用户未配置日志相关字段时,将默认打开日志上传到云端功能。 |
device_infos |
否 |
Array of DeviceInfos objects |
关联设备信息 |
enable_npu |
否 |
Boolean |
边缘节点是否开启NPU,true表示开启,false表示不开启,默认为false |
npu_type |
否 |
String |
NPU类型,支持D310、D310B,支持填写:
|
attributes |
否 |
Array of Attributes objects |
边缘节点属性,关联属性个数最多为32个 |
enable_docker |
否 |
Boolean |
边缘节点启用Docker,默认为true |
tags |
否 |
Array of NodeResTag objects |
边缘节点标签,标签个数最多为20个 |
mqtt_config |
否 |
MqttConfigs object |
MQTT配置。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
id |
否 |
String |
数据库保存的主键,不需要关注此字段。 |
size |
否 |
Integer |
应用日志文件大小限制,单位MB,默认50,取值范围10-1000。 |
level |
否 |
String |
|
rotate_num |
否 |
Integer |
应用日志rotate个数,默认5,取值范围1-10。 |
rotate_period |
否 |
String |
应用日志rotate周期,可选项:
|
type |
是 |
String |
|
component |
是 |
String |
|
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
relation |
是 |
String |
设备和节点关系的名称,只允许中文字符、英文字母、数字、下划线、中划线,最大长度64 |
comment |
否 |
String |
设备和节点关系的描述,最大长度64,不允许^ ~ # $ % & * < > ( ) [ ] { } ' " \ |
device_ids |
是 |
Array of strings |
设备ID列表 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
key |
否 |
String |
节点属性的key值,长度取值范围为1~128, 仅允许大小写英文字母、数字、下划线、中划线 |
value |
否 |
String |
节点属性的value值,长度取值范围为1~256, 仅允许大小写英文字母、数字、下划线、中划线 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
key |
否 |
String |
键。最大长度36个unicode字符。 不能为空,只能包含大小写字母,数字,中划线“-”,下划线“_”。 |
value |
否 |
String |
值。每个值最大长度43个unicode字符,删除时如果value有值按照key/value删除,如果value没值,则按照key删除。 不能为空,只能包含大小写字母,数字,中划线“-”,下划线“_”。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
enable_mqtt |
是 |
Boolean |
是否启用MQTT |
mqtts |
是 |
Array of Mqtt objects |
MQTT配置 当enable_mqtt取值为false时,mqtts需要为空数组 |
响应参数
状态码: 201
参数 |
参数类型 |
描述 |
---|---|---|
node |
EdgeNodeResp object |
边缘节点参数 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
边缘节点ID |
name |
String |
边缘节点名称,只允许中文字符、英文字母、数字、下划线、中划线,最大长度64 Name为必填字段,且本账号中唯一。 |
description |
String |
边缘节点描述,最大长度255,不允许^ ~ # $ % & * < > ( ) [ ] { } ' " \ |
created_at |
String |
创建时间 |
updated_at |
String |
更新时间 |
project_id |
String |
项目ID |
private_key |
String |
私钥 |
certificate |
String |
证书 |
ca |
String |
根证书 |
state |
String |
边缘节点状态
|
package |
String |
将证书文件certificate/ca/private_key打成.tar.gz包后用base64编码的字符串。 使用时请使用base64解码成.tar.gz包。 |
master_addr |
String |
云端服务URL |
cpu |
Integer |
边缘节点CPU核心数 |
memory |
Integer |
边缘节点内存大小,单位M |
os_name |
String |
边缘节点操作系统名称 |
os_version |
String |
边缘节点操作系统版本 |
pause_docker_image |
String |
pause容器镜像URL |
arch |
String |
边缘节点架构 |
os_type |
String |
边缘节点操作系统类型 |
deployment_num |
Integer |
部署在该边缘节点上的应用实例个数 |
enable_gpu |
Boolean |
边缘节点是否开启GPU,默认为false |
log_configs |
Array of LogConfigs objects |
边缘节点日志配置,当用户未配置日志相关字段时,将默认打开日志上传到云端功能。 |
device_infos |
Array of DeviceInfos objects |
关联设备信息 |
edged_version |
String |
edged版本 |
gpu_num |
Integer |
gpu个数 |
host_ips |
Array of strings |
主机IP,默认返回eth0网卡的IP。 |
relation |
String |
与device绑定关系名称(通过device id查询node时有值) |
comment |
String |
与device绑定关系描述(通过device id查询node时有值) |
gpu_info |
Array of GpuInfo objects |
gpu型号和gpu memory大小 |
device_num |
Integer |
关联设备数量 |
enable_npu |
Boolean |
边缘节点是否开启NPU,true表示开启,false表示不开启,默认为false |
npu_type |
String |
NPU类型,支持D310、D310B,支持填写:
|
nics |
Array of Nics objects |
节点网卡和对应IP地址信息 |
host_name |
String |
边缘节点主机名 |
ief_node_version |
String |
边缘节点版本 |
upgrade_flag |
Boolean |
是否能升级的标志
|
product_id |
String |
产品ID(通过产品证书方式纳管) |
group_ids |
Array of strings |
节点组ID(一个节点属于多个节点组) |
upgrade_history |
Array of UpgradeHistory objects |
节点安装或升级记录 |
attributes |
Array of Attributes objects |
边缘节点属性,关联属性个数最多为32个 |
docker_enable |
Boolean |
节点是否开启Docker |
mqtt_mode |
String |
mqtt集成模式
|
mqtt_external |
String |
外置开源mqtt地址 |
mqtt_internal |
String |
edgecore内置的mqtt地址 |
node_type |
String |
节点类型,默认为空,非空时为小站节点 |
ntp_configs |
NtpConfigs object |
ntp配置 |
error_reason |
String |
节点故障原因 |
tags |
Array of ResourceTag objects |
边缘节点标签,标签个数最多为20个 |
npu_num |
Integer |
NPU数量 |
npu_info |
Array of NpuInfo objects |
NPU型号和NPU Memory大小 |
container_runtime_version |
String |
容器运行时版本 |
identifier |
String |
边缘节点使用token注册时的凭证 |
purchase_id |
String |
IEC/IES节点id |
state_details |
StateDetails object |
IEC/IES节点状态详情 |
cert_remaining_valid_time |
Integer |
证书有效期持续时间 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
数据库保存的主键,不需要关注此字段。 |
size |
Integer |
应用日志文件大小限制,单位MB,默认50,取值范围10-1000。 |
level |
String |
|
rotate_num |
Integer |
应用日志rotate个数,默认5,取值范围1-10。 |
rotate_period |
String |
应用日志rotate周期,可选项:
|
type |
String |
|
component |
String |
|
参数 |
参数类型 |
描述 |
---|---|---|
relation |
String |
设备和节点关系的名称,只允许中文字符、英文字母、数字、下划线、中划线,最大长度64 |
comment |
String |
设备和节点关系的描述,最大长度64,不允许^ ~ # $ % & * < > ( ) [ ] { } ' " \ |
device_ids |
Array of strings |
设备ID列表 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
Integer |
节点升级或安装历史版本id |
from_version |
String |
节点升级前节点上edgecore版本号,形式如2.1.0,其中每一位都是整数 |
to_version |
String |
节点升级或安装后节点行edgecore版本号,形式如2.1.0,其中每一位都是整数 |
upgrade_time |
Integer |
节点升级或安装的十位时间戳 |
result |
String |
节点升级或安装状态,包含
|
dur_time |
Integer |
节点升级所消耗的时间 |
参数 |
参数类型 |
描述 |
---|---|---|
key |
String |
节点属性的key值,长度取值范围为1~128, 仅允许大小写英文字母、数字、下划线、中划线 |
value |
String |
节点属性的value值,长度取值范围为1~256, 仅允许大小写英文字母、数字、下划线、中划线 |
参数 |
参数类型 |
描述 |
---|---|---|
key |
String |
键。最大长度36个unicode字符。 不能为空,只能包含大小写字母,数字,中划线“-”,下划线“_”。 |
value |
String |
值。每个值最大长度43个unicode字符,删除时如果value有值按照key/value删除,如果value没值,则按照key删除。 不能为空,只能包含大小写字母,数字,中划线“-”,下划线“_”。 |
请求示例
注册边缘节点,不开启GPU,将部署到边缘节点上的应用,生成的日志发送到本地。
{ "node" : { "name" : "node_test", "description" : "This is a test node", "enable_gpu" : false, "log_configs" : [ { "component" : "app", "type" : "local", "level" : "debug", "size" : 100, "rotate_num" : 5, "rotate_period" : "daily" } ] } }
响应示例
状态码: 201
边缘节点详细信息
{ "node" : { "id" : "86715318-a5a7-4507-a289-7238d53d5fed", "project_id" : "05041fffa40025702f6dc009cc6f8f33", "name" : "node_test", "description" : "This is a test node", "created_at" : "2020-08-11T01:23:55.527805447Z", "updated_at" : "", "state" : "UNCONNECTED", "master_addr" : "https://ief2-placement.cn-north-4.myhuaweicloud.com:443", "arch" : "", "enable_gpu" : false, "gpu_info" : [ ], "gpu_num" : 0, "memory" : 0, "os_version" : "", "os_name" : "", "device_infos" : [ ], "os_type" : "", "pause_docker_image" : "swr.cn-north-4.myhuaweicloud.com/huawei-ief-internal-app/pause", "host_name" : "", "cpu" : 0, "log_configs" : [ { "level" : "", "rotate_num" : 5, "component" : "app", "rotate_period" : "daily", "type" : "local", "id" : "9b795f5e-01b7-47e8-b1ae-6dc59b9c0005", "size" : 100 }, { "level" : "false", "rotate_num" : 5, "component" : "app", "rotate_period" : "daily", "type" : "LTS", "id" : "e419ab7f-17ea-4757-b62e-311fc777af69", "size" : 50 }, { "level" : "", "rotate_num" : 5, "component" : "system", "rotate_period" : "daily", "type" : "local", "id" : "56dabbb7-4fb1-46cc-85df-dc80a2bd24f8", "size" : 50 }, { "level" : "false", "rotate_num" : 5, "component" : "system", "rotate_period" : "daily", "type" : "LTS", "id" : "0f6935c1-e59d-4b0d-a0db-1ba07b2ac8d1", "size" : 50 } ], "host_ips" : [ ], "edged_version" : "", "deployment_num" : 0, "device_num" : 0, "upgrade_history" : [ ], "ief_node_version" : "", "comment" : "", "ca" : "", "relation" : "", "certificate" : "", "private_key" : "", "attributes" : [ ], "package" : "", "tags" : null, "product_id" : "", "mqtt_mode" : "internal", "mqtt_internal" : "tls://docker0:8883,tls://127.0.0.1:8883", "mqtt_external" : "", "enable_npu" : false, "docker_enable" : true, "npu_num" : 0, "npu_info" : [ ], "node_type" : "", "ntp_configs" : null, "nics" : [ ], "error_reason" : "", "container_runtime_version" : "" } }
状态码
状态码 |
描述 |
---|---|
201 |
边缘节点详细信息 |
错误码
请参见错误码。