华为云用户手册

  • 到期与欠费 包年包月资源包到期后,自动转为按需计费。 按需计费是按照每小时扣费,当账户的余额不足时,无法对上一个小时的费用进行扣费,就会导致欠费。 如果账号欠费,会根据“客户等级”来定义保留期时长,保留期内资源处理和费用详见宽限期与保留期。 您续费后可继续正常使用。保留期满仍未续订或充值,数据将被删除且无法恢复。 在保留期进行的续费,是以原到期时间作为生效时间,您应当支付从进入保留期开始到续费时的服务费用。 您账号欠费后,会导致部分操作受限,建议您尽快续费。具体受限操作如下: 开通服务 购买套餐包 按需计费模式的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 结果包含的边集合。
  • 响应示例 状态码: 200 响应成功示例 { "graph" : { "id" : "1172f16c-63c7-4746-89b0-78972eddf706", "name" : "GES_UI_2_0_1", "created_by" : "ei_ges_j00356469_01", "is_multi_az" : "false", "region_code" : "cn-north-7", "az_code" : "cn-north-7c", "edgeset_format" : "", "edgeset_default_label" : "", "vertexset_format" : "", "vertexset_default_label" : "", "data_store_version" : "2.0.1", "sys_tags" : [ "0" ], "status" : "900", "graph_size_type_index" : "0", "vpc_id" : "0ac6e3c3-2c9b-4296-84f7-6883cebc7b41", "subnet_id" : "2b1755eb-d6d4-421f-88c0-cf6f0bc16801", "security_group_id" : "7aa7c8c9-7443-4a01-abf5-8064b586f8f5", "replication" : 0, "created" : "2022-04-26T02:10:52", "updated" : "2022-04-26T02:10:52", "private_ip" : "192.168.0.123", "encrypted" : false, "enable_rbac" : false, "enable_full_text_index" : false, "enable_hyg" : false, "traffic_ip_list" : [ "192.168.0.123" ], "crypt_algorithm" : "generalCipher", "enable_https" : false, "enable_multi_label":false, "origin_graph_size_type_index": "1", "expand_time": "2023-08-03T02:10:52", "resize_time": "2023-08-02T02:10:52" } } 状态码: 400 响应失败示例 { "error_code" : "GES.7006", "error_msg" : "An internal error occurs in the underlying service of the graph engine." }
  • 请求参数 表2 Body参数说明 参数 是否必选 类型 说明 indexName 是 String 索引名称。只能包含字母,数字,-和_。不能包含其他字符。索引名称的长度需在63字符以内。 indexType 是 String 索引的类型,区分大小写。 “GlobalCompositeVertexIndex”为全局的Composite类型的点索引。 “GlobalCompositeEdgeIndex”为全局的Composite类型的边索引。 “CompositeVertexIndex”为局部的Composite类型的点索引。 “CompositeEdgeIndex”为局部的Composite类型的边索引。 “FullTextIndex”为全文索引。 hasLabel 否 Boolean 是否有label,默认为false。 true false indexLabel 否 List Label列表,仅在indexType为CompositeVertexIndex或CompositeEdgeIndex时有效,而且为必填项,用来指定在哪些label上建立索引。 indexProperty 否(若hasLabel为false或null,则该项为必选) List 索引的属性列表。 可以创建索引的属性类型有: integer、 float、 double、 long、 enum、 string、 date。 如果属性类型为string,属性长度建议不要超过40个字节,超出的部分会被截断。 Cypher查询可以借助hasLabel为True的索引来加速。 indexProperty为空时,建立的索引为label索引,可以加速label过滤。 indexProperty不为空时,建立的索引为属性索引,可以加速对应的属性过滤。
  • 功能介绍 根据给定的indexName,IndexType等信息创建索引。目前支持两种索引:复合索引和全文索引。 复合索引有全局点索引(GlobalCompositeVertexIndex),全局边索引(GlobalCompositeEdgeIndex)以及局部点索引(CompositeVertexIndex),和局部边索引(CompositeEdgeIndex)。复合索引是针对固定组合的属性建立的,其中局部索引可以在指定的label上建立索引。而全局索引复合索引不需要指定label,只要某个label包含指定属性,就会自动在此label上建立索引。使用索引查询可以加快速度。 全文索引(FullTextIndex)可以实现全文搜索、模糊搜索等功能。由于全文索引的刷新机制,更新数据后立即查询可能查到的是旧数据,建议更新后间隔60秒以上再进行查询。全文索引的使用请查看点过滤查询和边过滤查询。您也可以使用cypher语句来执行全文索引,具体请查看cypher操作相关章节。 目前全文索引特性只在持久化版规格版本中支持。 索引创建后需要等待30秒索引同步时间,同步完成后Cypher查询才可以利用索引进行加速。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "jobId": "f99f60f1-bba6-4cde-bd1a-ff4bdd1fd500000168232", "jobType": 8 } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": "graph [demo] is not found", "errorCode": "GES.8603" }
  • 请求示例 创建复合索引,索引名称为ageIndex,索引类型为全局点索引。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/indices { "indexName":"ageIndex", "indexType": "GlobalCompositeVertexIndex", "hasLabel": true, "indexProperty": ["age"] } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应参数 表3 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 执行该异步任务的jobId。 说明: 可以查询jobId查看任务执行状态、获取返回结果,详情参考Job管理API。 jobType String 执行该异步任务的jobType。 result String 成功时result值为success。
  • 请求参数 表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" }
  • 请求示例 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使用限制。
  • 响应参数 参数 类型 说明 errorMessage String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误信息。 errorCode String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误码。 jobId String 执行算法任务ID。请求失败时,字段为空。 说明: 可以利用返回的jobId查看任务执行状态、获取算法返回结果,详情参考查询Job状态(1.0.0)。 jobType Integer 任务类型。请求失败时,字段为空。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "result": "success" } 状态码: 400 失败响应示例 HttpStatusCode: 400 { "errorMessage": "Graph [ {project_id} -movie1] does not exist, please check project_id and graph_name.", "errorCode": "GES.8000", "result": "failed" }
  • 请求示例 请求示例1:取消已经提交的某个作业。 DELETE http://{SERVER_URL}/ges/v1.0/{project_id}/hyg/{graph_name}/jobs/{job_id} 请求示例2:取消全部排队中的作业。 DELETE http://{SERVER_URL}/ges/v1.0/{project_id}/hyg/{graph_name}/jobs SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应参数 表4 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 执行该异步任务的jobId。 可以查询jobId查看任务执行状态、获取返回结果,详情参考Job管理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" } }
  • 功能介绍 增量导入图数据。 为防止系统重启时,不能正常恢复导入图数据,建议在使用图期间,不要删除存储在OBS中的数据。 导入目录下的单文件或者导入的单文件大小不能超过5GB,如果超过5GB,则会导入失败,建议把文件拆成小于5GB的多个文件后再导入。 单次导入的文件总大小(包括点、边数据集)不能超过可用内存的1/5。可用内存参考“运维监控看板”的“节点监控”中名称后缀为ges-dn-1-1和ges-dn-2-1节点可用内存(可以把鼠标悬浮在内存使用率上弹出)的最小值。
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 job_id String 执行该异步任务的jobId。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 error_msg String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。
  • 请求示例 增量导入图数据,边文件目录为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 }
  • 请求样例 指定起始节点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":"", } }
  • 响应示例 状态码: 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" }
  • 请求参数 表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参数参考
  • 响应示例 状态码: 200 成功响应示例 { "encrypted" : false, "ges_metadata" : { "labels" : [ { "name" : "friends" }, { "name" : "movie", "properties" : [ { "data_type" : "string", "name" : "ChineseTitle", "cardinality" : "single" }, { "data_type" : "int", "name" : "Year", "cardinality" : "single" }, { "data_type" : "string", "name" : "Genres", "cardinality" : "set" } ] }, { "name" : "user", "properties" : [ { "data_type" : "string", "name" : "ChineseName", "cardinality" : "single" }, { "type_name1" : "F", "type_name2" : "M", "data_type" : "enum", "name" : "Gender", "type_name_count" : "2", "cardinality" : "single" }, { "type_name1" : "Under 18", "type_name2" : "18-24", "type_name3" : "25-34", "type_name4" : "35-44", "type_name5" : "45-49", "type_name6" : "50-55", "type_name7" : "56+", "data_type" : "enum", "name" : "Age", "type_name_count" : "7", "cardinality" : "single" }, { "data_type" : "string", "name" : "Occupation", "cardinality" : "single" }, { "data_type" : "char array", "name" : "Zip-code", "max_data_size" : "12", "cardinality" : "single" } ] }, { "name" : "rate", "properties" : [ { "data_type" : "int", "name" : "Score", "cardinality" : "single" }, { "data_type" : "date", "name" : "Datetime", "cardinality" : "single" } ] } ] } } 状态码: 400 失败响应示例 { "error_msg" : "6b74069d-3cf3-4cc0-9118-2478e23b87a does not exist.", "error_code" : "GES.2067" }
  • personalrank算法(1.0.0) 表1 parameters参数说明 参数 是否必选 类型 说明 source 是 String 节点的ID。 alpha 否 Double 权重系数(又称阻尼系数),取值范围为(0,1),默认值为0.85。 convergence 否 Double 收敛精度。 取值范围0~1,不包括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参数说明 参数 类型 说明 source String - personalrank List 各节点的personalrank值,格式: [{vertexId:rankValue},...] 其中, vertexId:string类型 rankValue:double类型 父主题: 算法API参数参考
共100000条