华为云用户手册

  • 请求示例 更新边的属性值,属性名为Rating的值为7,属性名为Datetime的值为2020-12-27 23:44:41,标签名称为rate。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/edges/properties/action?action_id=update&source=Lily&target=Tom&index=1{ "properties": { "Rating": ["7"], "Datetime":["2020-12-27 23:44:41"] }, "targetProperties": [ { "label": "rate", "properties": [ "Rating" ] } ]} SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • URI POST /ges/v1.0/{project_id}/graphs/{graph_name}/edges/properties/action?action_id={actionId}&source={sourceVertex}&target={targetVertex}&index={index} 表1 路径参数 参数 是否必选 类型 说明 project_id 是 String 项目ID。获取方法请参见获取项目ID。 graph_name 是 String 图名称。 actionId 是 String 操作符。 update更新该属性的值。 add 添加属性的值。当属性的cardiniality为single时,其操作与update一致;当cardinality为list或set时,意为向集合中添加值。 del 删除属性的值。 sourceVertex 是 String 边的起点。 targetVertex 是 String 边的终点。 index 否 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。 枚举值:bindEip
  • 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。 枚举值:unbindEip
  • 点集最短路(Shortest Path of Vertex Sets)(1.0.0) 表1 Parameter参数说明 参数 是否必选 说明 类型 取值范围 默认值 sources 是 起点ID集合 String 标准csv格式,ID之间以英文逗号分隔,例如:“Alice,Nana”。 个数不大于100000。 - targets 是 终点ID集合 String 标准csv格式,ID之间以英文逗号分隔,例如:“Alice,Nana”。 个数不大于100000。 - directed 否 是否考虑边的方向 Boolean true或false false 表2 response_data参数说明 参数 类型 说明 path List 最短路径,格式: [vertexId,...] 其中, vertexId:string类型 source String 起点ID target String 终点ID 父主题: 算法API
  • 请求示例 根据批量节点ID查询节点信息,待查询的顶点ID数组为"27003509_北京中央电视台大楼"和"39636392_八达岭长城"。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=batch-query { "vertices": ["27003509_北京中央电视台大楼", "39636392_八达岭长城"]} SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应参数 表3 响应Body参数 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 data Object 查询成功时包含data字段,data字段中包含vertices查询结果。 result String 查询结果,成功时值为success。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200{ "data": { "vertices": [ { "id": "27003509_北京中央电视台大楼", "label": "tag", "properties": { "popularity": [ 0 ], "name": [ "北京中央电视台大楼" ], "alias": [ "中央电视台光华路办公区", "中央电视台总部大楼", "大裤衩", "央视总部大楼" ] } }, { "id": "39636392_八达岭长城", "label": "tag", "properties": { "popularity": [ 0 ], "name": [ "八达岭长城" ], "alias": [ "长城" ] } } ] } "result": "success" } 状态码: 400 失败响应示例 Http Status Code: 400{ "errorMessage": " Bad Request, parameter vertices cannot be null", "errorCode": "GES.8214"}
  • 响应示例 状态码: 200 OK Http Status Code: 200{ "jobCount": 136,"jobList": [ { "jobId": "ff80808167bb90340167bc3c7b5b026a", "status": "success", "jobType": "GraphManagement", "jobName": "ImportGraph", "relatedGraph": "test1217", "beginTime": "2018-12-17T12:55:40", "endTime": "2018-12-17T12:56:32", "jobDetail": { "vertexsetPath": null, "edgesetPath": [ { "path": "hkmovie/edge.csv", "log": null, "cause": null, "status": "success" } ], "schemaPath": [ { "path": "hkmovie/schema.xml", "log": null, "cause": null, "status": "success" } ] }, "jobProgress": 0 }, { "jobId": "ff80808167bb90340167bc5d0b1d0358", "status": "success", "jobType": "GraphManagement", "jobName": "DeleteGraph", "relatedGraph": "test1218", "beginTime": "2018-12-17T13:31:14", "endTime": "2018-12-17T13:34:48", "jobProgress": 0 }]} 状态码: 400 Bad Request { "errorMessage" : "failed", "errorCode" : "GES.9999"}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobCount Integer 任务总数。 jobList Array of Job objects 任务列表。 表5 Job 参数 参数类型 描述 jobId String 任务ID。 status String 任务状态。 pending:等待中 running:运行中 success:成功 failed:失败 jobType String 任务类型。 jobName String 任务名称。 relatedGraph String 关联图名称。 beginTime String 任务开始时间,格式为UTC,"yyyy-MM-dd'T'HH:mm:ss"。 endTime String 任务结束时间,格式为UTC,"yyyy-MM-dd'T'HH:mm:ss"。 jobDetail JobDetail object 只有jobName为ImportGraph时才返回,用于显示导入图详情。 failReason String 任务失败原因。 jobProgress Double 任务执行进度,预留字段,暂未使用。 表6 JobDetail 参数 参数类型 描述 schemaPath Array of schemaPath objects 元数据路径。 edgesetPath Array of edgesetPath objects 边数据集路径。 vertexsetPath Array of vertexsetPath objects 点数据集路径。 表7 schemaPath 参数 参数类型 描述 path String OBS文件路径。 log String OBS文件导入日志存储文件。 status String OBS文件导入状态。 success:完全成功 failed:完全失败 partFailed:部分成功 cause String 导入失败原因 表8 edgesetPath 参数 参数类型 描述 path String OBS文件路径。 log String OBS文件导入日志存储文件。 status String OBS文件导入状态。 success:完全成功 failed:完全失败 partFailed:部分成功 cause String 导入失败原因。 totalLines Long 导入总行数。其值为-1时表示当前版本没有返回该字段。 failedLines Long 导入失败行数。其值为-1时表示当前版本没有返回该字段。 successfulLines Long 导出成功行数。其值为-1时表示当前版本没有返回该字段。 表9 vertexsetPath 参数 参数类型 描述 path String OBS文件路径。 log String OBS文件导入日志存储文件。 status String OBS文件导入状态。 success:完全成功 failed:完全失败 partFailed:部分成功 cause String 导入失败原因。 totalLines Long 导入总行数。其值为-1时表示当前版本没有返回该字段。 failedLines Long 导入失败行数。其值为-1时表示当前版本没有返回该字段。 successfulLines Long 导出成功行数。其值为-1时表示当前版本没有返回该字段。
  • URI GET /v1.0/{project_id}/graphs/jobs 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取方法请参见获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 endTime 否 String 任务结束日期,当前只支持日期,不支持时间。格式为:yyyy-MM-dd,比如2019-03-27。 graph_name 否 String 关联的图名称 limit 否 String 每页资源数量的最大值,默认为10。 offset 否 String 本次请求的起始位置,默认为0。 startTime 否 String 任务开始日期,当前只支持日期,不支持时间。格式为:yyyy-MM-dd,比如2019-03-27。 status 否 String 任务状态。取值为: running waiting success failed
  • 响应参数 表4 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 data String 查询成功时包含data字段,data字段中包含edges查询结果。 result(持久化版) String 查询成功时值为success,失败时值为failed。
  • 请求示例 (不包括图规格为持久化版)根据批量边的起点、终点以及索引来查询这些边的详细信息,待查询边的source节点分别为39631050_景观,27803870_地标建筑。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/edges/action?action_id=batch-query { "edges": [{ "source": "39631050_景观", "target": "27803870_地标建筑" },{ "index": "0", "source": "27803870_地标建筑", "target": "27661363_北京九华山庄温泉" }]} (持久化版)根据批量边的起点、终点以及索引来查询这些边的详细信息,待查询边的source节点为Vivian。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/edges/action?action_id=batch-query { "edges": [ { "source": "Vivian", "target": "Lethal Weapon", "label": "rate" }, { "source": "Vivian", "target": "Raising Arizona" } ]} SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应示例 状态码: 200 成功响应示例(不包括图规格为持久化版) { "data": { "edges": [ { "index": "24", "source": "39631050_景观", "label": "superclassOf", "properties": { "popularity": [ 0 ] }, "target": "27803870_地标建筑" }, { "index": "0", "source": "27803870_地标建筑", "label": "superclassOf", "properties": { "popularity": [ 0 ] }, "target": "27661363_北京九华山庄温泉" } ] }} 响应成功示例(持久化版) { "data": { "edges": [ { "source": "Vivian", "target": "Raising Arizona", "label": "rate", "properties": { "Score": [ 4 ], "Datetime": [ "2000-12-27 23:51:42" ] } }, { "source": "Vivian", "target": "Lethal Weapon", "label": "rate", "properties": { "Score": [ 5 ], "Datetime": [ "2000-12-27 23:44:41" ] } } ] }, "result": "success"}
  • 请求参数 表2 Body参数说明 参数 是否必选 类型 说明 edges 是 Object 待查询的边数组。 表3 edges参数说明 参数 是否必选 类型 说明 source 是 String 边的source节点。 target 是 String 边的target节点。 index 否 String 边的index。 说明: 图规格为持久化版的图暂不支持该参数。 label(持久化版) 否 String 边的label。 sortKey(持久化版) 否 String/int/null 用来区分重复边,重复边指的是:sourceVertex(边的起点),targetVertex(边的终点)和 label都相同的边。 说明: 查询时给出sortKey必须给出label。
  • 请求样例 指定起始节点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 是 Date或Integer 动态图结束时间的属性名称。 表5 parameters参数说明 参数 是否必选 类型 说明 source 是 String 起始节点id。 k 否 Integer 拓展深度,取值范围:1-100,默认值为3。 directed 否 Boolean 拓展方向,取值为true或false,默认值为true。
  • 响应参数 表6 响应参数说明 参数 是否必选 类型 说明 errorMessage 否 String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误信息。 errorCode 否 String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误码。 jobId 否 String 执行该异步任务的jobId。 可以查询jobId查看任务执行状态、获取返回结果,详情参考Job管理API。 jobType 否 Integer 任务类型。请求失败时,字段为空。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 执行该异步任务的jobId。 说明: 可以查询jobId查看任务执行状态、获取返回结果,详情参考Job管理API。
  • 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。 枚举值:clear-graph clear-metadata 否 Boolean 是否清空图关联的元数据,建议清空。取值为“true”或者“false”。默认为“false”。 true:表示清空 false:表示不清空
  • 终端节点 终端节点即调用API的请求地址,不同服务不同区域的终端节点不同,您可以从地区和终端节点中查询所有服务的终端节点。 图引擎服务的终端节点如下表所示,请您根据业务需要选择对应区域的终端节点。 表1 图引擎服务的终端节点 区域名称 区域 终端节点(Endpoint) 华北-北京一 cn-north-1 ges.cn-north-1.myhuaweicloud.com 华北-北京四 cn-north-4 ges.cn-north-4.myhuaweicloud.com 华东-上海一 cn-east-3 ges.cn-east-3.myhuaweicloud.com 华南-广州 cn-south-1 ges.cn-south-1.myhuaweicloud.com 父主题: 使用前必读
  • 请求示例 添加边,source点名称为Lily,target点名称为Rocky,边的标签名为rate。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/edges{ "source":"Lily", "target": "Rocky", "label": "rate", "properties": {"Score":[5],"Datetime":["2018-01-01 20:30:05"]}, "parallelEdge": { "action":"override", "ignoreLabel":true }} SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200{ "result":"success", "data":{"index":"0"}} 状态码: 400 失败响应示例 Http Status Code: 400{ "errorMessage":"edge source vertex [Lily] does not exist", "errorCode":"GES.8000"}
  • 响应参数 表3 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 result String 响应结果,成功时result值为success。 data data Object 边的标识数据。 表4 data 参数 类型 说明 index String 边的标识号。
  • 业务面API使用限制 用户访问业务面API有三种方式: 通过ECS访问,且创建ECS的VPC和创建图选定的VPC是同一个。如果安全组选择的是同一个,则可以直接访问;如果安全组不是同一个,要在创建图的安全组开通该ECS的访问限制,即入方向放开80和443端口,出方向放开所有端口(分别对应支持HTTP和HTTPS访问)。这种场景,API的SERVER_URL为GES Console图详情的内网访问地址或者管理面API查询图详情返回体的"privateIp"字段的值。 通过ECS访问,但创建ECS的VPC和创建图选定的VPC不是同一个。需要对ECS所在的VPC和建图用的VPC创建VPC对等连接,创建VPC对等连接请参考创建对等连接。同时要在创建图的安全组开通该ECS的访问限制,即入方向放开80和443端口,出方向放开所有端口。这种场景,API的SERVER_URL为GES Console图详情的内网访问地址或者管理面API查询图详情返回体的"privateIp"字段的值。 通过公网访问。此时要求创建弹性公网IP(EIP),且要在创建图的安全组开通客户端的访问限制,即入方向放开80和443端口,出方向放开所有端口。这种场景,API的SERVER_URL为GES Console图详情的公网访问地址或者管理面API查询图详情返回体的"publicIp"字段的值,也即用户绑定或者自动创建的弹性公网IP地址。 父主题: 约束与限制
  • 响应消息头 对应请求消息头,响应同样也有消息头,如“Content-Type”。例如表1所示。 表1 响应消息头 参数名 说明 Content-Length 响应消息体的字节长度,单位为Byte。 Date 系统响应的时间。 Content-type 发送的实体的MIME类型。 TraceID 请求返回的ID,便于问题定位。 对于IAM获取用户Token接口,返回如图1所示的消息头,其中“x-subject-token”就是需要获取的用户Token。有了Token之后,您就可以使用Token认证调用其他API。 图1 获取用户Token响应消息头
  • 响应消息体 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 对于IAM获取用户Token接口,返回如下消息体。为篇幅起见,这里只展示部分内容。 { "token": { "expires_at": "2019-02-13T06:52:13.855000Z", "methods": [ "password" ], "catalog": [ { "endpoints": [ { "region_id": "cn-north-1", ...... 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_msg": "The format of message is error", "error_code": "AS.0001"} 其中,error_code表示错误码,error_msg表示错误描述信息。
  • 点集最短路(shortest_path_of_vertex_sets)(2.1.5) 表1 parameters参数说明 参数 是否必选 说明 类型 取值范围 默认值 sources 是 起点ID集合 String 标准csv格式,ID之间以英文逗号分隔,例如:“Alice,Nana”。 个数不大于100000。 - targets 是 终点ID集合 String 标准csv格式,ID之间以英文逗号分隔,例如:“Alice,Nana”。 个数不大于100000。 - directed 否 是否考虑边的方向 Boolean true或false false timeWindow 否 用于进行时间过滤的时间窗 Object 具体请参见表2。 - 表2 timeWindow参数说明 参数 是否必选 说明 类型 取值范围 默认值 filterName 否 用于进行时间过滤的时间属性名称 String 字符串:对应的点/边上的属性作为时间 - filterType 否 在点或边上过滤 String V:点上 E:边上 BOTH:点和边上 BOTH startTime 否 起始时间 String Date型字符串或时间戳 - endTime 否 终止时间 String Date型字符串或时间戳 - 表3 response_data参数说明 参数 类型 说明 path List 最短路径,格式: [vertexId,...] 其中, vertexId:string类型 source String 起点ID target String 终点ID 父主题: 算法API参数参考
  • 响应 要素说明 表4 要素说明 参数 是否必选 类型 说明 errorMessage 否 String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误信息。 errorCode 否 String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误码。 result 否 String 成功时result值为success。 请求成功样例 Http Status Code: 200{"result": "success"} 请求失败样例 Http Status Code: 400{"errorMessage": "vertex [Lily] already exists","errorCode": "GES.8000"}
  • 请求 请求样例 POSThttp://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/vertices/action?action_id=batch-add{ "vertices": [ { "vertex": "150", "label": "movie", "properties": { "movieid": [ "150" ], "title": [ "testmoive" ], "genres": [ "Comedy" ] } }, { "vertex": "6", "label": "movie", "properties": { "movieid": [ "6" ], "title": [ "testmoive_exist_id" ], "genres": [ "Comedy" ] } } ]} SERVER_URL:图的访问地址,取值请参考业务面API使用限制。 参数说明 表2 Body参数说明 参数 是否必选 类型 说明 vertices 是 Json 待添加的顶点数组。 表3 vertices参数说明 参数 是否必选 类型 说明 vertex 是 String 点ID。 label 是 String 点的label。 properties 否 Json 各个属性的值。
共100000条