华为云用户手册

  • 到期与欠费 包年包月资源包到期后,自动转为按需计费。 按需计费是按照每小时扣费,当账户的余额不足时,无法对上一个小时的费用进行扣费,就会导致欠费。 如果账号欠费,会根据“客户等级”来定义保留期时长,保留期内资源处理和费用详见宽限期与保留期。 您续费后可继续正常使用。保留期满仍未续订或充值,数据将被删除且无法恢复。 在保留期进行的续费,是以原到期时间作为生效时间,您应当支付从进入保留期开始到续费时的服务费用。 您账号欠费后,会导致部分操作受限,建议您尽快续费。具体受限操作如下: 开通服务 购买套餐包 按需计费模式的API无法调用
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 job_id String 关闭图任务ID。请求失败时为空。 表4 响应Body参数 参数 参数类型 描述 error_msg String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 error_code String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。
  • pagerank算法(1.0.0) 表1 parameters参数说明 参数 是否必选 类型 说明 alpha 否 Double 权重系数(又称阻尼系数),取值范围为(0,1),默认值为0.85。 convergence 否 Double 收敛精度。取值范围(0,1),默认值为0.00001。 max_iterations 否 Integer 最大迭代次数。API调用限制为[1,2147483647],前端调用限制为[1,2000],默认值为1000。 num_thread 否 Integer 并发线程数。范围为[1,40],小于1会自动置为1,大于40则自动置为40。默认值为4。 directed 否 Boolean 是否考虑边的方向。取值为true或false。默认值为true。 迭代次数(iterations)和收敛精度(convergence)。 算法终止的条件:要么达到设置的最大迭代次数,要么满足收敛精度,满足其一即可。 一般来说,收敛精度设置得越小,迭代次数设置得越大,算法的效果越好。 在固定收敛精度的情况下,要想算法优先满足收敛精度,迭代次数设置得尽量大。 迭代次数越大,算法运行时间越长。在固定迭代次数(即固定运行时间)的情况下,要想算法运行到设置的迭代次数,收敛精度设置得尽量小。 表2 response_data参数说明 参数 类型 说明 pagerank List 各节点的pagerank值,格式: [{vertexId:rankValue},...] 其中, vertexId:string类型 rankValue:double类型 父主题: 算法API参数参考
  • 响应示例 状态码: 200 响应成功示例 { "data": { "vertices": [{ "id": "Place00032", "label": "Place", "properties": {} }, { "id": "Person00041", "label": "Person", "properties": { "gender": ["女"], "phone": ["P0334529194"], "name": ["吴桂芳"], "startTime": [1774368], "endTime": [16756560], "age": [48] } }], "edges": [{ "index": "0", "source": "Person00041", "label": "hasVisit", "properties": { "startTime": [1646092800], "visitDate": [20220301], "endTime": [1646126769] }, "target": "Place00032" }, { "index": "3", "source": "Person00041", "label": "hasVisit", "properties": { "startTime": [1646168289], "visitDate": [20220301], "endTime": [1646179199] }, "target": "Place00032" }] } } 状态码: 400 响应失败示例 { "errorMessage":"${errorMessage}", "errorCode":"GES.8301" }
  • 请求样例 观察某些节点群体结构的动态演化过程,算法名称为temporal_graph,动态分析的开始时间为${startTime},结束时间为${endTime}。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/dynamicgraphs/action?action_id=execute-analysis { "algorithmName":"temporal_graph", "dynamicRange":{ "start":"${startTime}", "end":"${endTime}", "time_props":{"stime":"${property(start_time)}","etime":"${property(start_time)}"} }, "parameters":{ "sources":[], "temporal_vertex":false } }
  • 响应参数 表6 响应参数说明 参数 是否必选 类型 说明 errorMessage 否 String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误信息。 errorCode 否 String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误码。 data 否 Json 结果详情数据,具体请参见data参数说明。 表7 data参数说明 参数 是否必选 类型 说明 vertices 否 List 结果包含的点集合。 edges 否 List 结果包含的边集合。
  • 请求参数 表2 请求Body参数 参数 是否必选 类型 说明 algorithmName 是 String 算法名字。 parameters 是 parameters Object 算法参数。 表3 parameters 参数 是否必选 类型 说明 source 是 String 输入路径的起点ID。 target 是 String 输入路径的终点ID,不等于source。 directed 否 Boolean 是否考虑边的方向。取值为true或false,默认值为false。 说明: false当前版本在有权图上不支持。 当数据集不包含inedge时,若directed=true,选择一个不依赖于Inedge的算法实现版本计算输出,性能会下降;若directed=false,会报错。 weight 否 String 边上权重。取值为:空或字符串,默认值为空。 空:边上的权重、距离默认为1。 字符串:对应的边上的属性将作为权重,当某边没有对应属性时,权重将默认为1。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "jobId": "4448c9fb-0b16-4a78-8d89-2a137c53454a001679122", "jobType": 1 } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage":"graph [demo] is not found", "errorCode":"GES.8402" }
  • 响应参数 参数 类型 说明 errorMessage String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误信息。 errorCode String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误码。 jobId String 执行算法任务ID。请求失败时,字段为空。 说明: 可以利用返回的jobId查看任务执行状态、获取算法返回结果,详情参考查询Job状态(1.0.0)。 jobType Integer 任务类型。请求失败时,字段为空。
  • 请求示例 POST /ges/v1.0/{project_id}/hyg/{graph_name}/algorithm { "algorithmName":"all_shortest_paths", "parameters":{ "source":"1", "target":"5", "directed":true, "weight":"", "num_thread":4 } } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "jobId": "b4f2e9a0-0439-4edd-a3ad-199bb523b613" } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorCode": "GES.8013", "errorMessage": "graph [movie2] is not found" }
  • 请求示例 进行导入图操作,边文件目录为testbucket/demo_movie/edges/,边数据集格式为csv,点文件目录为testbucket/demo_movie/vertices/,点数据集格式为csv,新增数据的元数据文件OBS路径为testbucket/demo_movie/incremental_data_schema.xml,日志存放目录为testbucket/importlogdir。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=import-graph { "edgesetPath": "testbucket/demo_movie/edges/", "edgesetFormat": "csv", "vertexsetPath": "testbucket/demo_movie/vertices/", "vertexsetFormat": "csv", "schemaPath": "testbucket/demo_movie/incremental_data_schema.xml", "logDir": "testbucket/importlogdir", "parallelEdge": { "action":"override", "ignoreLabel":true }, "delimiter": ",", "trimQuote": "\"", "offline": true, "obsParameters": { "accessKey": "xxxxxx", "secretKey": "xxxxxx" } }
  • 响应参数 表4 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 执行该异步任务的jobId。 可以查询jobId查看任务执行状态、获取返回结果,详情参考Job管理API。
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 job_id String 执行该异步任务的jobId。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 error_msg String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。
  • 功能介绍 增量导入图数据。 为防止系统重启时,不能正常恢复导入图数据,建议在使用图期间,不要删除存储在OBS中的数据。 导入目录下的单文件或者导入的单文件大小不能超过5GB,如果超过5GB,则会导入失败,建议把文件拆成小于5GB的多个文件后再导入。 单次导入的文件总大小(包括点、边数据集)不能超过可用内存的1/5。可用内存参考“运维监控看板”的“节点监控”中名称后缀为ges-dn-1-1和ges-dn-2-1节点可用内存(可以把鼠标悬浮在内存使用率上弹出)的最小值。
  • 请求示例 增量导入图数据,边文件目录为testbucket/demo_movie/edges/,边数据集格式为csv,点文件目录为testbucket/demo_movie/vertices/,点数据集格式为csv。 POST http://Endpoint/v2/{project_id}/graphs/{graph_id}/import-graph { "edgeset_path" : "testbucket/demo_movie/edges/", "edgeset_format" : "csv", "vertexset_path" : "testbucket/demo_movie/vertices/", "vertexset_format" : "csv", "schema_path" : "testbucket/demo_movie/incremental_data_schema.xml", "log_dir" : "testbucket/importlogdir", "parallel_edge" : { "action" : "override", "ignore_label" : true }, "delimiter" : ",", "trim_quote" : "\"", "offline" : false }
  • 响应示例 状态码: 200 响应成功示例 { "data": { "outputs": { "data_return_size": 2, "runtime": 0.000079, "data_offset": 0, "data_total_size": 2, "temporal_bfs": [{ "Person00041": { "arrive": 1646092800, "dist": 0, "predecessor": "" } }, { "Place00001": { "arrive": 1648306984, "dist": 1, "predecessor": "Person00041" } }] } } } 状态码: 400 响应失败示例 { "errorMessage":"${errorMessage}", "errorCode":"GES.8301" }
  • 请求样例 指定起始节点id搜索周围与之相关联的点,算法名称为temporal_bfs,动态分析的开始时间为${startTime},结束时间为${endTime}。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/dynamicgraphs/action?action_id=execute-analysis { "algorithmName":"temporal_bfs", "dynamicRange":{ "start":"${startTime}", "end":"${endTime}", "time_props":{"stime":"${property(start_time)}","etime":"${property(start_time)}"} }, "parameters":{ "source":"", } }
  • 请求参数 表2 Body参数说明 参数 是否必选 类型 说明 algorithmName 是 String 算法名称。 dynamicRange 是 String 动态分析时间参数。 parameters 是 String 算法参数。 表3 dynamicRange参数说明 参数 是否必选 类型 说明 start 是 Date或Integer 动态分析时间边界的开始时间。 end 是 Date或Integer 动态分析时间边界的结束时间。 time_props 是 Object 动态分析的时间属性定义。 表4 time_props参数说明 参数 是否必选 类型 说明 stime 是 String 动态图开始时间的属性名称。 etime 是 String 动态图结束时间的属性名称。 表5 parameters参数说明 参数 是否必选 类型 说明 source 是 String 起始节点id。 k 否 Integer 拓展深度,取值范围:1-100,默认值为3。 directed 否 Boolean 拓展方向,取值为true或false,默认值为true。
  • topicrank算法(topicrank)(2.2.20) 表1 parameters参数说明 参数 是否必选 说明 类型 取值范围 默认值 sources 是 节点的ID,支持多点输入,csv格式,逗号分割。 String 当前仅支持少于等于100000个 id输入。 - actived_p 否 初始sources节点对应的权重初始值。 Double 0~100000,包括0和100000。 1 default_p 否 非sources节点对应的权重初始值。 Double 0~100000,包括0和100000。 1 filtered 否 是否对结果进行过滤。 Boolean true或false。 false only_neighbors 否 是否仅输出sources的邻居节点。 Boolean true或false。 false alpha 否 权重系数。 String 0~1,不包括0和1。 0.85 convergence 否 收敛精度。 String 0~1,不包括0和1。 0.00001 max_iterations 否 最大迭代次数。 Integer API调用限制为1~2147483647,前端调用限制为1~2000。 1000 directed 否 是否考虑边的方向。 Boolean true或false。 true num_thread 否 线程数。 Integer 1-40。 4 表2 response_data参数说明 参数 类型 说明 topicrank List 各节点的topicrank值,格式: [{vertexId:rankValue},...] 其中, vertexId:string类型 rankValue:double类型 父主题: 算法API参数参考
  • 请求参数 表2 请求Body参数 参数 是否必选 类型 说明 algorithmName 是 String 算法名字。 parameters 是 parameters Object 算法参数。 表3 parameters 参数 是否必选 类型 说明 statistics 否 Boolean 是否仅输出总的统计量结果,取值为true或false,默认为true。 true:仅输出总的统计数量。 false:输出各点对应三角形数量。
  • 请求示例 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=execute-algorithm { "algorithmName":"triangle_count", "parameters":{ } } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "jobId": "4448c9fb-0b16-4a78-8d89-2a137c53454a001679122", "jobType": 1 } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage":"graph [demo] is not found", "errorCode":"GES.8402" }
  • 响应参数 参数 类型 说明 errorMessage String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误信息。 errorCode String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误码。 jobId String 执行算法任务ID。请求失败时,字段为空。 说明: 可以利用返回的jobId查看任务执行状态、获取算法返回结果,详情参考查询Job状态(1.0.0)。 jobType Integer 任务类型。请求失败时,字段为空。
  • URI POST /v1.0/{project_id}/graphs/{graph_id}/action 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见获取项目ID。 graph_id 是 String 图ID。 表2 Query参数 参数 是否必选 参数类型 描述 action_id 是 String 图actionId。 枚举值: stop
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 关闭图任务ID。请求失败时为空。 说明: 可以查询jobId查看任务执行状态、获取返回结果,详情参考任务中心API。
  • 创建RDS实例需要多长时间 对于RDS for MySQL、RDS for MariaDB实例: 单机和主备实例的创建时间都在5~7分钟之间。 只读实例与主实例或备实例同AZ,并且只读实例非本地SSD盘时,只读实例的创建时间为15分钟左右;其他情况下,只读实例的创建时间与主实例的数据量有关,数据量越大,创建时间越长。 对于RDS for PostgreSQ L实例 : 单机和主备实例的创建时间都在5~7分钟之间。 只读实例的创建时间与主实例的数据量有关,数据量越大,创建时间越长。如果主实例为空实例,创建实例大约需要7~8分钟。 对于RDS for SQL Server实例: 单机实例创建时间约12~15分钟。 主备实例创建时间约15~18分钟。 如果超过这个时间,创建过程可能存在问题,请及时联系客服人员处理。 父主题: 产品咨询
  • 解决方法 使用root用户登录数据库,并执行如下授权语句,即可迁移成功。 grant USAGE on schema public to root; grant SELECT,REFEREN CES ,TRIGGER on all tables in schema public to root; grant EXECUTE on ALL FUNCTIONS IN SCHEMA public to root; 迁移完成后再回收权限。 revoke USAGE schema public from root; revoke SELECT,REFERENCES,TRIGGER on all tables in schema public from root; revoke EXECUTE on ALL FUNCTIONS IN SCHEMA public from root; root用户执行授权命令需要内核版本为支持root提权的版本,支持root提权版本情况见root用户权限说明。
  • 镜像包打包 构建需要打包的项目 构建项目,此处示例,构建好的文件存放在目录 /home/ModuleSDK-Demo 下 安装docker 请确认您使用的系统已经安装Docker(Docker版本需要高于17.06,推荐18.06),安装方法可参照docker 安装教程。 制作镜像 搜索基础镜像。 docker search dotnet 根据您的工程配置,选择合适的镜像。 镜像需要集成与您的工程配置兼容的.Net运行环境,下文使用的.Net版本仅作演示。 拉取镜像。 docker pull mcr.microsoft.com/dotnet/runtime:2.1 mcr.microsoft.com/dotnet/runtime:2.1 镜像是微软提供的镜像,非IoT团队发布,且IoT团队未提供任何官方镜像。该镜像在此仅做示例,IoT团队对该镜像的安全性不作保证,强烈建议用户自己封装镜像! 编写 Dockerfile 制作镜像。 创建 Dockerfile,内容示例如下(具体可参考编写高效的Dockerfile )。 下面提供了ModuleSDK-Demo镜像构建样例,仅作示例展示,请按需修改。 # 基础镜像来源 FROM mcr.microsoft.com/dotnet/runtime:2.1 # 指定工作目录 WORKDIR /app # 复制工程二进制文件和相关文件(即项目构建发布的产物) COPY ModuleSDK-Demo/ /app ENTRYPOINT ["dotnet", "ModuleSDK-Demo.dll"] 构建镜像 docker build -t modulesdk-demo:1.0.0 -f Dockerfile . 查看打包完成的镜像 docker images 可以看到modulesdk-demo这个镜像已经制作完成。 REPOSITORY TAG IMAGE ID CREATED SIZE modulesdk-demo 1.0.0 85ed3c3dc738 8 minutes ago 182MB 上述步骤演示的是直接复制已编译好的工程文件来构建镜像,您也可以采取在构建镜像时编译的方式,具体可参照.Net 官方文档的指引。 镜像上传 上传镜像 镜像上传需要使用镜像容器服务(SWR),首先需要开通 容器镜像服务 (SWR)。开通及使用请参照容器 镜像服务 (SWR)。 获取 SWR 登录指令 获取登录指令请参照获取指令。 访问密钥即AK/SK(Access Key ID/Secret Access Key),获取的AK/SK将用于登录。 登录 SWR 仓库 docker login -u [区域项目名]@[AK] -p [登录密钥] [镜像仓库地址] 可以直接从控制台获取登录命令,如下图。 镜像仓库地址 = swr.区域项目名称.myhuaweicloud.com 例如,华北-北京一对应的镜像仓库地址为:swr.cn-north-1.myhuaweicloud.com 修改镜像所属组织 修改镜像的组织名,以便推送到个人组织内。 docker tag [OPTIONS] [镜像名:版本号] [镜像仓库地址/所属组织/镜像名:版本号] 例如: docker tag modulesdk-demo:1.0.0 swr.cn-north-4.myhuaweicloud.com/iotedge/modulesdk-demo:1.0.0 上传镜像 docker push [镜像仓库地址/所属组织/镜像名:版本号] 例如: docker push swr.cn-north-4.myhuaweicloud.com/iotedge/modulesdk-demo:1.0.0 在我的镜像查看上传结果 上传镜像后请在 SWR 将镜像设置为公开。 查看镜像详情: 编辑镜像: 设置为公开: 这一步很重要,关系到后面能否正常部署应用。
  • 设备接入调测 本章节以MQTT.fx为例,介绍以MQTT原生协议接入IoT边缘节点,通过边缘节点上报设备属性至 物联网平台 。MQTT.fx是目前主流的MQTT客户端,可以快速验证是否可以与物联网平台服务交互发布或订阅消息。 访问这里,填写添加边缘设备后生成的设备ID和设备密钥,生成连接信息(ClientId、Username、Password)。 打开MQTT.fx软件,单击设置图标。 参考截图中配置鉴权参数,然后单击截图中“Apply”。 Broker Address:填写边缘节点服务器公网IP地址 Broker Port:填写边缘节点提供给南向MQTT(S)设备接入的端口,即7883 Cliend ID:设备cliendID,参考1获取 User Name:即设备ID,参考1获取 Password:加密后的设备密钥,参考1获取 在设备对接边缘节点场景中,需要在设备侧集成相应证书(证书文件),用于设备校验边缘节点的身份。 单击“Connect”,设备鉴权成功后,在IoT边缘控制台和物联网平台可以看到设备处于在线状态。如果模拟器右侧的红灯变成绿灯,说明与物联网平台的连接成功。 IoTEdge云服务上边缘节点显示子设备在线: 物联网平台显示边缘节点、子设备在线: 通过MQTT.fx模拟设备上报属性,并在物联网平台查看设备上报数据。 在Publish页签,填写设备属性上报Topic,及JSON消息体,单击“Publish”完成上报。 Topic:$oc/devices/iot_edge_test_0219/sys/properties/report 其中,iot_edge_test_0219为设备ID,请替换为实际值。 消息体: { "services" : [{ "service_id" : "sensor", "properties" : { "temp" : 25, "humi" : 11 }, "event_time" : "20210212T121212Z" } ] } 在物联网平台查看设备上报数据。 通过MQTT.fx订阅命令下发Topic,并在物联网平台下发控制命令,查看设备是否收到平台下发的命令。 在Subscribe页签,填写命令下发Topic,并单击“Subscribe”完成订阅。 Topic:$oc/devices/iot_edge_test_0219/sys/commands/# 其中,iot_edge_test_0219为设备ID,请替换为实际值。 在物联网平台执行命令下发。 进入设备详情页,选择“命令”页签,单击同步命令下发区域的“命令下发”,设置参数并单击“确定”完成命令下发。 选择命令:sensor: control_light light:ON 在MQTT.fx客户端查看,平台下发命令接收成功。
共100000条