云服务器内容精选

  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "jobId": "6-57222f3d-f6b8-41ba-b492-60ed9b879223" } 状态码: 400 失败响应示例 HttpStatusCode: 400 { "errorCode": "GES.8011", "errorMessage": "graph : movie2 is not exist" }
  • 请求参数 表2 Body参数说明 参数 是否必选 类型 说明 scriptPath 是 String 用户编写好的DSL算法文件路径。 obsParameters 是 Object OBS认证参数。具体请见obsParameters参数说明。 timeout 否 Integer 超时时间,单位为秒。 表3 obsParameters参数说明 参数 是否必选 类型 说明 accessKey 是 string ak值。 secretKey 是 string sk值。
  • 请求示例 请求示例1:取消已经提交的某个作业。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/hyg/{graph_name}/dsl { "scriptPath": "bucket/run_sssp.py", "obsParameters": { "accessKey": "XXX", "secretKey": "XXX" } } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应参数 表5 要素说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 result String 响应结果。成功时result值为success,失败时值为failed。 cause String 系统提示信息,执行成功时,字段可能为空。执行失败时,用于显示错误信息。
  • 请求示例 添加label,label的名称为book,label有一个待添加的属性。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/schema/labels { "name": "book", "type": "vertex", "properties": [ { "property": { "name": "Title", "cardinality": "single", "dataType": "string" } }, { "property": { "name": "Version", "cardinality": "single", "dataType": "string" } } ] } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 请求参数 表1 请求Body参数说明 参数 是否必选 类型 说明 algorithmName 是 String 算法名字,详见具体的各个算法。 parameters 否 Object 算法参数。详情请参考各算法参数描述。 output 否 Object 结果输出参数。具体请见表2。 timeout 否 Integer 超时时间,单位为秒。 说明: 最大团(max_clique)、mccis算法不支持该参数。 表2 output参数说明 参数 是否必选 类型 说明 format 否 String 算法结果的输出格式。可选值是["JSON", "TXT"],默认值是"JSON"。TXT格式请参考算法结果TXT格式说明。 mode 否 String 算法结果的输出模式。可选值是["FULL", "TRUNCATED"]。默认值是"TRUNCATED"。 "FULL"表示算法结果全量输出。"FULL"模式下,当前只支持"TXT"这个格式,且算法结果会写到集群节点的本地目录,需要通过"export-result"接口将全量结果写到obs才能访问。 "TRUNCATED"表示算法结果截断输出,当前只支持"JSON"这种格式。 对于存在默认值的参数,如果传参数值为null,按默认值处理。
  • 响应示例 根据输入参数,执行指定算法,查询算法结果(根据算法请求返回的job_id,调用查询job_id接口获取算法结果)。 状态码: 200 成功响应示例 { "data": { "outputs": { $response_data //各算法的具体返回结果,不同算法返回结果不同 "runtime": 1.365867, "data_return_size": 3, "data_offset": 0, "data_total_size": 100 } }, "status": "complete" } response_data 表示各算法的具体返回结果,不同算法返回结果不同。 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage":"Running algorithm [XXXX] error: YYYYYYYYY!", "errorCode":"GES.8301" }
  • 请求参数 表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。 strLength 否 Integer String类型的属性在编码索引时会按照一固定长度来截断,strLength用于指定此截断长度。未指定时默认值为40字节,用户可指定范围为[1, 256]。 通常用户不需要手动指定此参数,即使有些属性超过此长度,索引编码时被截断。一般也不会有明显的性能劣化。除非绝大多数属性均超过默认长度,可以考虑适当增大strLength,但是会带来索引修改的性能下降。 如果属性类型为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。
  • Token认证 Token的有效期一般为24小时(例外场景除外),需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。具体Token有效期说明请参见获取用户Token。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 在构造请求中以调用获取用户Token接口为例说明了如何调用API。获取客户Token后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”,其值即为Token。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 Content-Type: application/json X-Auth-Token: ABCDEFJ.... 获取客户Token请参见获取用户Token。
  • AK/SK认证 AK/SK签名认证方式仅支持消息体大小在12MB以内,12MB以上的请求请使用Token认证。 AK/SK认证就是使用AK/SK对请求进行签名,在请求时将签名信息添加到消息头,从而通过身份认证。 AK(Access Key ID):访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 SK(Secret Access Key):私有访问密钥。与访问密钥ID结合使用,对请求进行加密签名,可标识发送方,并防止请求被修改。 使用AK/SK认证时,您可以基于签名算法使用AK/SK对请求进行签名,也可以使用专门的签名SDK对请求进行签名。详细的签名方法和SDK使用方法请参见API签名指南。 签名SDK只提供签名功能,与服务提供的SDK不同,使用时请注意。
  • 流控失败常见问题及处理 接口报错样例: {"status_code":429,"request_id":"7e6c1***********c610","error_code":"APIGW.0308","error_message":"The throttling threshold has been reached: policy user over ratelimit,limit:10,time:1 second","encoded_authorization_message":""} 处理方式: 华为云为客户运营能力API均提供默认的流量配额,用户可根据自己实际业务场景对额度进行升级。用户可以监视429状态码并构建重试机制。重试机制应遵循指数回退计划,以在必要时减少请求量。用户还可以在退避时间表中建立一些随机性,以避免严重的羊群效应。