华为云用户手册

  • URI PUT /v2/{project_id}/edge-nodes/{edge_node_id}/modules/{module_id}/state 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见 获取项目ID。 最小长度:1 最大长度:64 edge_node_id 是 String 边缘节点ID 最小长度:1 最大长度:64 module_id 是 String 边缘模块ID 最小长度:1 最大长度:64
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 edge_app_id String 应用ID 最小长度:0 最大长度:64 app_version String 应用版本 最小长度:0 最大长度:64 state String 模块运行状态 枚举值: PENDING PENDING_DELETE DELETE_FAILED RUNNING FAILED SUCCEEDED UNKNOWN DELETE_SUC CES S STOPPED control_status String 模块管控状态 node_id String 边缘节点(同deviceID)ID 最小长度:0 最大长度:64 module_name String 模块名称 最小长度:0 最大长度:256 module_id String 模块ID 最小长度:0 最大长度:64 create_time String 创建时间 最小长度:0 最大长度:256 update_time String 最后一次修改时间 最小长度:0 最大长度:256 app_type String 应用类型 枚举值: SYSTEM_REQUIRED SYSTEM_OPTIONAL USER function_type String 功能类型 枚举值: DATA_PROCESSING PROTOCOL_PARSING ON_PREMISE_INTEGRATION GATEWAY_MANAGER COMPOSITE_APPLICATION DATA_COLLECTION
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用 IAM 服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 最小长度:0 最大长度:20000 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 配置项名称 最小长度:1 最大长度:64 value 是 String 配置项详情,长度2MB以内 最小长度:1 最大长度:2097152 description 否 String 配置项描述 最小长度:0 最大长度:255
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 id String 配置ID 最小长度:1 最大长度:32 name String 配置项名称 最小长度:1 最大长度:64 value String 配置项详情 最小长度:1 最大长度:2048 description String 配置项描述 最小长度:0 最大长度:255 version Long 版本号 最小长度:0 最大长度:64 state String 下发状态 枚举值: SUCCESS SENDING create_time String 创建时间 最小长度:0 最大长度:256 update_time String 更新时间 最小长度:0 最大长度:256
  • URI PUT /v2/{project_id}/edge-nodes/{node_id}/ias/{ia_id}/configs/{config_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见 获取项目ID。 最小长度:1 最大长度:64 node_id 是 String 边缘节点ID 最小长度:1 最大长度:64 ia_id 是 String 边侧第三方应用的模块ID 最小长度:1 最大长度:64 config_id 是 String 配置ID 最小长度:1 最大长度:32
  • 响应示例 状态码: 200 OK { "id" : "config1", "name" : "配置项1", "value" : "配置项详情1", "description" : "这是一个配置项", "version" : 1603694409089, "state" : "SUCCESS", "create_time" : "2020-05-28T11:31:29.740Z", "update_time" : "2020-05-28T11:31:29.740Z"}
  • URI POST /v2/{project_id}/edge-nodes/{edge_node_id}/ots/data-sources/{ds_id}/synchronize 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见 获取项目ID。 edge_node_id 是 String 边缘节点ID 最小长度:1 最大长度:64 ds_id 是 String 采集数据源id,创建数据源配置时设置,节点下唯一。 最小长度:1 最大长度:64
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 service_id String 服务id 最小长度:1 最大长度:256 service_type String 服务类型 最小长度:1 最大长度:256 description String 描述 最小长度:0 最大长度:1024 properties Array of objects 属性 数组长度:0 - 1000
  • 响应参数 状态码: 200 表6 响应Body参数 参数 参数类型 描述 na_id String NA系统ID,提供给其他系统访问的唯一标识 最小长度:1 最大长度:32 name String NA系统名称 最小长度:1 最大长度:64 description String 北向NA系统描述 最小长度:0 最大长度:255 endpoint String 访问URL地址 最小长度:1 最大长度:512 auth_type String 鉴权方式 最小长度:1 最大长度:32 access_type String 接入类型 最小长度:1 最大长度:32 access_roma_info AccessRomaBriefInfo object ROMA接入鉴权信息 create_time String 创建时间 最小长度:0 最大长度:256 update_time String 更新时间 最小长度:0 最大长度:256 表7 AccessRomaBriefInfo 参数 参数类型 描述 app_key String 认证key,加密存储 最小长度:1 最大长度:256
  • 请求示例 PUT https://{endpoint}/v2/{project_id}/nas/{na_id}{ "name" : "string", "description" : "string", "endpoint" : "string", "auth_type" : "string", "auth_aksk_info" : { "secret" : "string" }, "access_type" : "string", "access_roma_info" : { "app_key" : "string" }}
  • 响应示例 状态码: 200 OK { "na_id" : "na_id_1", "name" : "北向系统1", "description" : "这是一个北向NA", "endpoint" : "https://068b72f3b75444dda67cc6e2286a4c20.apic.cn-south-1.huaweicloudapis.com", "auth_type" : "AKSK", "access_type" : "ROMA", "access_roma_info" : { "app_key" : "ebf59208-4c6b-4b06-9b69-494e9df475a3" }, "create_time" : "2020-05-28T11:31:29.740Z", "update_time" : "2020-05-28T11:31:29.740Z"}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 最小长度:0 最大长度:20000 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String NA系统名称 最小长度:1 最大长度:64 description 否 String 北向NA系统描述 最小长度:0 最大长度:255 endpoint 是 String 访问URL地址 最小长度:1 最大长度:512 auth_type 否 String 鉴权方式 最小长度:1 最大长度:32 auth_aksk_info 否 AuthAkSkInfo object AK/SK鉴权信息结构体 access_type 是 String 接入类型 最小长度:1 最大长度:32 access_roma_info 否 AccessRomaInfo object 接入方式为ROMA的鉴权信息结构体 表4 AuthAkSkInfo 参数 是否必选 参数类型 描述 secret 否 String 鉴权密钥 最小长度:1 最大长度:256 表5 AccessRomaInfo 参数 是否必选 参数类型 描述 app_key 否 String 认证key,加密存储 最小长度:1 最大长度:256 app_secret 否 String 认证secret,加密存储 最小长度:1 最大长度:256
  • 响应示例 状态码: 200 OK { "edge_app_id" : "test-app", "app_version" : "1.0.0", "state" : "PENDING", "control_status" : "0000000000000000", "node_id" : "test-node", "module_name" : "edge_module", "module_id" : "test-module-id", "create_time" : "2020-05-28T11:31:29.740Z", "update_time" : "2020-05-28T11:31:29.740Z", "app_type" : "SYSTEM_REQUIRED", "function_type" : "DATA_PROCESSING", "container_settings" : { "configs" : { "host_network" : false, "container_port_list" : [ { "container_port" : 65535, "host_port" : 65535, "host_ip" : "string" } ] } }}
  • URI GET /v2/{project_id}/edge-nodes/{edge_node_id}/modules/{module_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见 获取项目ID。 最小长度:1 最大长度:64 edge_node_id 是 String 边缘节点ID 最小长度:1 最大长度:64 module_id 是 String 边缘模块ID 最小长度:1 最大长度:64
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 edge_app_id String 应用ID 最小长度:0 最大长度:64 app_version String 应用版本 最小长度:0 最大长度:64 state String 模块运行状态 枚举值: PENDING PENDING_DELETE DELETE_FAILED RUNNING FAILED SUCCEEDED UNKNOWN DELETE_SUCCESS STOPPED control_status String 模块管控状态 node_id String 边缘节点(同deviceID)ID 最小长度:0 最大长度:64 module_name String 模块名称 最小长度:0 最大长度:256 module_id String 模块ID 最小长度:0 最大长度:64 create_time String 创建时间 最小长度:0 最大长度:256 update_time String 最后一次修改时间 最小长度:0 最大长度:256 app_type String 应用类型 枚举值: SYSTEM_REQUIRED SYSTEM_OPTIONAL USER function_type String 功能类型 枚举值: DATA_PROCESSING PROTOCOL_PARSING ON_PREMISE_INTEGRATION GATEWAY_MANAGER COMPOSITE_APPLICATION DATA_COLLECTION container_settings ModuleContainerSettingsResDTO object 容器相关配置 表4 ModuleContainerSettingsResDTO 参数 参数类型 描述 configs ContainerConfigsResDTO object 容器相关配置 custom_envs Object 自定义环境变量 extra_hosts Array of DNSConfigDTO objects 域名 解析配置集合 数组长度:0 - 20 表5 ContainerConfigsResDTO 参数 参数类型 描述 host_network Boolean 是否使用主机网络模式 缺省值:false container_port_list Array of ContainerPortDTO objects 容器端口映射值 数组长度:0 - 1000000 表6 ContainerPortDTO 参数 参数类型 描述 container_port Integer 构成一堆映射的容器端口 最小值:1 最大值:65535 host_port Integer 构成一对映射的物理机对应网卡端口 最小值:1 最大值:65535 host_ip String 对应网卡地址 最小长度:0 最大长度:64 表7 DNSConfigDTO 参数 参数类型 描述 hostname String 域名 最小长度:1 最大长度:1024 ip String 域名解析对应IP 最小长度:1 最大长度:64
  • URI POST /v2/{project_id}/edge-nodes/{node_id}/ias/{ia_id}/configs 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见 获取项目ID。 最小长度:1 最大长度:64 node_id 是 String 边缘节点ID 最小长度:1 最大长度:64 ia_id 是 String 边侧第三方应用的模块ID 最小长度:1 最大长度:64 表2 Query参数 参数 是否必选 参数类型 描述 action 是 String confirm 最小长度:1 最大长度:64
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。通过调用IAM服务 获取IAM用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。简要的获取方法样例请参见 Token认证。 最小长度:0 最大长度:20000 表4 请求Body参数 参数 是否必选 参数类型 描述 configs 否 Array of ConfirmIaConfigRequestBody objects 确认配置项列表 数组长度:0 - 100 表5 ConfirmIaConfigRequestBody 参数 是否必选 参数类型 描述 id 是 String 配置项ID 最小长度:0 最大长度:64 version 是 String 版本号 最小长度:0 最大长度:64
  • URI GET /v2/{project_id}/edge-apps/{edge_app_id}/versions 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见 获取项目ID。 最小长度:1 最大长度:64 edge_app_id 是 String 应用版本,应用内版本唯一。 最小长度:1 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 version 否 String 应用版本搜索关键字 最小长度:0 最大长度:32 offset 否 Integer 查询的起始位置,取值范围为非负整数,默认为0 最小值:0 最大值:1000000 缺省值:0 limit 否 Integer 每页记录数,默认值为10,取值区间为1-1000 最小值:0 最大值:1000000 缺省值:10 ai_card_type 否 String ai加速卡类型 最小长度:0 最大长度:64 枚举值: GPU NPU UNEQUIPPED arch 否 String 支持架构 最小长度:0 最大长度:64 枚举值: x86_64 arm32 arm64 state 否 String 应用版本状态 最小长度:0 最大长度:64 枚举值: DRAFT PUBLISHED OFF_SHELF deploy_type 否 String 应用部署类型 最小长度:0 最大长度:64 枚举值: docker process
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 count Integer 总记录数 最小值:0 最大值:1000000 page_info PageInfoDTO object 分页信息 versions Array of QueryEdgeAppVersionBriefResponseDTO objects 每页记录数 数组长度:0 - 1000000 表5 PageInfoDTO 参数 参数类型 描述 offset Integer 页码 最小值:0 最大值:1000000 limit Integer 每页记录数 最小值:1 最大值:1000 表6 QueryEdgeAppVersionBriefResponseDTO 参数 参数类型 描述 edge_app_id String 应用ID 最小长度:0 最大长度:32 name String 应用名称 最小长度:0 最大长度:64 version String 应用名称 最小长度:0 最大长度:32 sdk_version String 应用集成的边缘SDK版本 最小长度:1 最大长度:32 description String 应用描述 最小长度:0 最大长度:256 deploy_type String 部署类型docker|process 最小长度:0 最大长度:64 deploy_multi_instance Boolean 是否允许部署多实例 create_time String 创建时间 最小长度:0 最大长度:256 update_time String 最后一次修改时间 最小长度:0 最大长度:256 state String 应用版本状态 枚举值: DRAFT PUBLISHED OFF_SHELF arch Array of strings 架构 数组长度:1 - 1000000 publish_time String 发布时间 最小长度:0 最大长度:256 off_shelf_time String 下线时间 最小长度:0 最大长度:256
  • 响应示例 状态码: 200 OK { "count" : 0, "page_info" : { "offset" : 0, "limit" : 0 }, "versions" : [ { "edge_app_id" : "test-app", "version" : "1.0.0", "description" : "this is a test app", "deploy_type" : "string", "create_time" : "2020-05-28T11:31:29.740Z", "update_time" : "2020-05-28T11:31:29.740Z", "state" : "PUBLISHED", "arch" : [ null ], "publish_time" : "2020-05-28T11:31:29.740Z", "off_shelf_time" : "2020-05-28T11:31:29.740Z" } ]}
  • 响应消息体 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于创建&更新北向NA信息接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "application/json" : { "name" : "北向系统1", "description" : "这是一个北向NA", "endpoint" : "https://068b72f3b75444dda67cc6e2286a4c20.apic.cn-south-1.huaweicloudapis.com", "auth_type" : "AKSK", "auth_aksk_info" : { "secret" : "123456" }, "access_type" : "ROMA", "access_roma_info" : { "app_key" : "ebf59208-4c6b-4b06-9b69-494e9df475a3", "app_secret" : "fa3c8cd144b29771b5873ae6a7efa25b393c86665d2e9ffa34d1309c5cd704ea" } }} 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "errorCode": "IoTEdge.03004005", "errorMsg": "The NA name is already used."} 其中,errorCode表示错误码,errorMsg表示错误描述信息。
  • Token认证 Token是服务端生成的一串字符串,作为客户端进行请求的一个令牌。第一次登录后,服务器生成一个Token并将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。Token有效期是24小时,从客户端获取开始算起(24小时是相对时间),需要使用同一个Token鉴权时,建议缓存起来使用,避免频繁调用。在Token过期前,务必刷新Token或重新 获取Token ,否则Token过期后会在服务端鉴权失败。 如果您获取Token多次,这些获取的Token在24内均有效。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。Token请求返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。获取Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值为获取到的Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 GET https://{Endpoint}/v2/{project_id}/nas/{na_id}Content-Type: application/json X-Auth-Token: ABCDEFJ....
  • 请求消息体 请求消息体通常以结构化格式发出,与请求消息头中Content-type对应,传递除请求消息头之外的内容。若请求消息体中参数支持中文,则中文字符必须为UTF-8编码。 每个接口的请求消息体内容不同,也并不是每个接口都需要有请求消息体(或者说消息体为空),GET、DELETE操作类型的接口就不需要消息体,消息体具体内容需要根据具体接口而定。 对于创建&更新北向NA信息接口,您可以从接口的请求部分看到所需的请求参数及参数说明。将消息体加入后的请求如下所示。 POST https://{Endpoint}/v2/{project_id}/nas/{na_id}Content-Type: application/json X-Auth-Token: eyJhbGciOiJSUzUxMiJ9.eyJpc3MiOiJpb3Rzd...{ "name" : "北向系统1", "description" : "这是一个北向NA", "endpoint" : "https://068b72f3b75444dda67cc6e2286a4c20.apic.cn-south-1.huaweicloudapis.com", "auth_type" : "AKSK", "auth_aksk_info" : { "secret" : "123456" }, "access_type" : "ROMA", "access_roma_info" : { "app_key" : "ebf59208-4c6b-4b06-9b69-494e9df475a3", "app_secret" : "fa3c8cd144b29771b5873ae6a7efa25b393c86665d2e9ffa34d1309c5cd704ea" }} 到此请求需要的内容已具备齐全,您可以使用curl、Postman或直接编写代码等方式发送请求调用API。
  • 请求URI 请求URI由如下部分组成。 {URI-scheme} :// {Endpoint} / {resource-path} ? {query-string} 尽管请求URI包含在请求消息头中,但大多数语言或框架都要求您从请求消息中单独传递它,所以在此单独强调。 URI-scheme:表示用于传输请求的协议,当前所有API均采用HTTPS协议。 Endpoint:指定承载REST服务端点的服务器域名或IP,不同服务不同区域的Endpoint不同,您可以从地区和终端节点中获取。例如IoT边缘平台在“华北-北京四”区域的Endpoint为“iotedge-api.cn-north-4.myhuaweicloud.com”。 resource-path:资源路径,也即API访问路径。从具体API的URI模块获取,例如“查询北向NA信息详情”API的resource-path为“/v2/{project_id}/nas/{na_id}”。 query-string:查询参数,是可选部分,并不是每个API都有查询参数。查询参数前面需要带一个“?”,形式为“参数名=参数取值”,例如“limit=10”,表示查询不超过10条数据。 例如您需要在IoT边缘平台获取应用接入地址的信息, 并在查询北向NA信息详情的URI部分找到resource-path(/v5/iot/{project_id}/products/{product_id}),拼接起来如下所示。 https://100.xxx.xxx.220/v2/{project_id}/nas/{na_id} 为查看方便,在每个具体API的URI部分,只给出resource-path部分,并将请求方法写在一起。这是因为URI-scheme都是HTTPS,而Endpoint在同一个区域也相同,所以简洁起见将这两部分省略。
  • 请求消息头 附加请求头字段,如指定的URI和HTTP方法所要求的字段。例如定义消息体类型的请求头“Content-Type”,请求鉴权信息等。 如下公共消息头需要添加到请求中。 Content-Type:消息体的类型(格式),必选,默认取值为“application/json”,有其他取值时会在具体接口中专门说明。 X-Auth-Token:用户Token。当使用Token方式认证时,必须填充该字段,可通过调用获取用户Token接口获取,接口返回的响应消息头中“X-Subject-Token”就是需要获取的用户Token。 对于查询北向NA信息详情接口,由于需要认证,所以需要添加“Content-Type”和“X-Auth-Token”到头域,添加消息头后的请求如下所示。 GET https://{Endpoint}/v2/{project_id}/nas/{na_id} Content-Type: application/jsonX-Auth-Token:eyJhbGciOiJSUzUxMiJ9.eyJpc3MiOiJpb3Rzd...
  • 响应示例 状态码: 200 修改数据库配置数据 { "tpl_id" : "string", "name" : "string", "description" : "string", "datasource_meta" : { }, "point_meta" : { }, "create_time" : "2020-05-28T11:31:29.740Z", "update_time" : "2020-05-28T11:31:29.740Z"}
  • 请求方法 HTTP请求方法(也称为操作或动词),它告诉服务您正在请求什么类型的操作。 GET:请求服务器返回指定资源。 PUT:请求服务器更新指定资源。 POST:请求服务器新增资源或执行特殊操作。 DELETE:请求服务器删除指定资源,如删除对象等。 HEAD:请求服务器资源头部。 在查询北向NA信息详情的URI部分,您可以看到其请求方法为“GET”,则其请求为: GET https://{Endpoint}/v2/{project_id}/nas/{na_id}
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 ds_id String 采集数据源id,节点下唯一 最小长度:1 最大长度:64 config Object 数据源的连接及采集信息 name String 采集数据源名称,允许中、数字、英文大小写、下划线、中划线 最小长度:1 最大长度:64 edge_node_id String 边缘节点id 最小长度:1 最大长度:64 module_id String 模块id 最小长度:1 最大长度:64 tpl_id String 模板id,节点下唯一 最小长度:1 最大长度:64 quality_report Boolean 质量上报开关,不携带或值不为true,默认为false edge_app_name String 应用ID 最小长度:0 最大长度:64 connection_info Object 数采连接信息 module_state String 数采连接状态,stopped|running 最小长度:1 最大长度:32 count Long 数采连接下点位数 最小值:0 最大值:1000000 create_time String 创建时间 最小长度:0 最大长度:256 update_time String 最后一次修改时间 最小长度:0 最大长度:256 synchronized Boolean 数采配置是否已同步,已同步:true,未同步:false synchronized_time String 数采配置同步时间 最小长度:0 最大长度:256
  • 响应示例 状态码: 200 Ok { "ds_id" : "opcua_1", "config" : { "connection_info" : { "endpoint" : "opc.tcp://127.0.0.1:53530/OPCUA", "username" : "admin", "password" : "*****" }, "collection_paras" : { "default_cycle" : 1000 } }, "name" : "电力子系统", "edge_node_id" : "446007715895193600", "module_id" : "user_opc_ua_yz", "tpl_id" : "sys_general_opcua", "quality_report" : false, "edge_app_name" : "西门子OPCUA驱动", "connection_info" : { }, "module_state" : "stopped", "count" : 1000000, "create_time" : "2020-05-28T11:31:29.740Z", "update_time" : "2020-05-28T11:31:29.740Z", "synchronized" : true, "synchronized_time" : "2020-05-28T11:31:29.740Z"}
  • URI GET /v2/{project_id}/edge-nodes/{edge_node_id}/ots/data-sources/{ds_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见 获取项目ID。 edge_node_id 是 String 边缘节点ID 最小长度:1 最大长度:64 ds_id 是 String 采集数据源id,创建数据源配置时设置,节点下唯一。 最小长度:1 最大长度:64
共99354条