华为云用户手册

  • 导入到已有分组注意事项 将API定义导入到一个已有的分组,导入过程中不会删除分组中已有的API,只是将新增的API导入分组。 适用于将一个新的API或者一个修改后的API导入到已有的分组。 导入API前,请注意以下事项: API网关中API的配额满足需求。 导入的API定义与已有的API定义冲突时,您可以选择使用导入的API定义覆盖已有的API定义,或者保留已有的API定义,此时导入的API定义会显示导入失败。 如果选择扩展覆盖,当导入API的扩展定义项名称与已有策略(ACL,流量控制等)名称相同时,则会覆盖已有策略(ACL,流量控制等)。 导入的API不会自动发布到环境,导入时可以选择“立即发布”或者“稍后发布”,您可以自行选择策略。
  • 导入到新分组注意事项 将API定义导入到一个新的分组,导入过程中系统会自动创建一个新的API分组,并将导入的API归属到该分组。 适用于将一份全新且完整的API导入到API网关。 导入API前,请注意以下事项: API网关中API分组和API的配额满足需求。 使用Swagger info或OpenAPI info的title作为API分组名称,新创建的API分组名称不能与已有的API分组名称重名。 导入的API定义中,如果存在冲突,那么根据系统导入的先后顺序,先导入的API会显示导入成功,后导入的API会显示导入失败。例如导入的API定义中存在2个名称相同或请求路径相同的API,那么先导入的API会显示导入成功,后导入的会显示导入失败。 如果选择扩展覆盖,当导入API的扩展定义项名称与已有策略(ACL,流量控制等)名称相同时,则会覆盖已有策略(ACL,流量控制等)。 导入的API不会自动发布到环境,导入时可以选择“立即发布”或者“稍后发布”,您可以自行选择策略。
  • 配置参数说明 表1 配置参数 参数 配置说明 策略基本信息 Broker地址 填写目标Kafka的连接地址,建立连接关系。多个地址间以英文逗号(,)隔开。 Topic主题 填写目标Kafka上报日志的主题。 Key 填写日志的Key值,表示日志存储在Kafka的指定分区,可以当成有序消息队列使用。如果Key为空,则日志分布式存储在不同的消息分区。 失败重试分配 日志推送到Kafka失败后的重试配置。 重试次数:失败后的重试次数,范围为0-5次。 重试间隔时间:失败后的重试时间间隔,范围为1-10秒。 SASL配置信息 安全协议 连接目标Kafka所使用的安全协议。 PLAINTEXT:默认接入点的用户认证协议。 SASL_PLAINTEXT:SASL用户认证协议。 SASL_SSL:SSL用户认证协议。 消息收发机制 目标Kafka的消息收发机制,默认为PLAIN。 SASL用户名 仅当“安全协议”选择“SASL_PLAINTEXT”或“SASL_SSL”时需配置。 SASL或SSL认证所使用的用户名。 SASL用户密码 仅当“安全协议”选择“SASL_PLAINTEXT”或“SASL_SSL”时需配置。 SASL或SSL认证所使用的用户密码。 确认SASL用户密码 仅当“安全协议”选择“SASL_PLAINTEXT”或“SASL_SSL”时需配置。 填写与SASL用户密码一样的值。 证书内容 仅当“安全协议”选择“SASL_SSL”时需配置。 SSL认证所使用的CA证书内容。 元数据配置信息 系统元数据 推送的日志中,需要携带的系统字段信息。 其中,start_time、request_id、client_ip、request_time、http_status、scheme、request_method、host、uri、upstream_addr、upstream_status、upstream_response_time、http_x_forwarded_for、http_user_agent和error_type字段信息默认在日志中携带,其他系统字段需勾选后才携带。 请求数据 推送的日志中,需要携带的API请求信息。 日志包含请求头域信息:勾选后,需填写日志中要携带的请求Header参数。多个字段间使用英文逗号(,)分隔,支持使用*进行通配设置。 日志包含请求QueryString信息:勾选后,需填写日志中要携带的请求Query参数信息。多个字段间使用英文逗号(,)分隔,支持使用*进行通配设置。 日志包含请求Body体信息:勾选后,日志中会携带API请求的Body体信息。 响应数据 推送的日志中,需要携带的API响应信息。 日志包含响应头域信息:勾选后,需填写日志中要携带的响应Header参数。多个字段间使用英文逗号(,)分隔,支持使用*进行通配设置。 日志包含响应Body体信息:勾选后,日志中会携带响应Body体信息。 自定义认证配置 推送的日志中,需要携带的自定义认证信息。 前端:填写日志中要携带的前端自定义认证的响应字段信息,多个字段间使用英文逗号(,)分隔。 后端:填写日志中要携带的后端自定义认证的响应字段信息,多个字段间使用英文逗号(,)分隔。
  • 脚本配置示例 { "scope": "basic", "default_interval": 60, "default_time_unit": "second", "api_limit": 100, "app_limit": 50, "user_limit": 50, "ip_limit": 20, "specials": [ { "type": "app", "policies": [ { "key": "e9230d70c749408eb3d1e838850cdd23", "limit": 10 } ] }, { "type": "user", "policies": [ { "key": "878f1b87f71c40a7a15db0998f358bb9", "limit": 10 } ] } ], "algorithm": "counter", "parameters": [ { "id": "3wuj354lpptv0toe0", "value": "reqPath", "type": "path", "name": "reqPath" }, { "id": "53h7e7j11u38l3ocp", "value": "method", "type": "method", "name": "method" }, { "id": "vv502bnb6g40td8u0", "value": "Host", "type": "header", "name": "Host" } ], "rules": [ { "match_regex": "[\"Host\",\"==\",\"www.abc.com\"]", "rule_name": "u8mb", "time_unit": "second", "interval": 2, "limit": 5 } ] }
  • 配置参数说明 表1 配置参数说明 参数 配置说明 流控类型 推荐使用高性能流控。 高精度流控:高并发场景下实例内部会有一定的性能损耗,适用于并发量较小的场景。 高性能流控:高并发场景下实例内部性能损耗较小,单位时间内会偶现较小的误差值,适用于并发量较大的场景。 单机流控:实例的每个节点各自进行流控,高并发场景下实例内部性能损耗最小,单位时间内会存在一定的误差值,适用于并发量更大的场景。 策略生效范围 单个API生效 对单个API进行流量统计和控制。 API共享生效 对绑定了该策略的所有API进行总流量统计和控制。 时长 流量限制的时长。 与“API流量限制”配合使用,表示单位时间内的单个API请求次数上限。 与“用户流量限制”配合使用,表示单位时间内的单个用户请求次数上限。 与“凭据流量限制”配合使用,表示单位时间内的单个凭据请求次数上限。 与“源IP流量限制”配合使用,表示单位时间内的单个IP地址请求次数上限。 API流量限制 单个API被调用次数上限。 与“时长”配合使用,表示单位时间内的单个API请求次数上限。 用户流量限制 单个用户调用API次数上限,如果API认证方式为 IAM 认证,用户流量根据项目ID来限制;如果API认证方式为APP认证,用户流量根据账号ID来限制。账号ID和项目ID请参考下文“特殊租户”配置说明。 不超过“API流量限制”。 与“时长”配合使用,表示单位时间内的单个用户请求次数上限。 如果主账号下有多个子用户访问API,按主账号累计的调用次数进行限制。 凭据流量限制 单个凭据调用API次数上限,仅适用于API的安全认证方式为APP认证时。 不超过“API流量限制”。 与“时长”配合使用,表示单位时间内的单个凭据请求次数上限。 源IP流量限制 单个IP地址调用API次数上限。 不超过“API流量限制”。 与“时长”配合使用,表示单位时间内的单个IP地址请求次数上限。 参数流控配置 参数流控配置开关。开启后,以参数维度进行流控限制。 定义参数 定义用于规则匹配的参数。 参数位置:用于规则匹配的参数位置。 path:API请求的URI,系统默认配置。 method:API请求方法,系统默认配置。 Header:请求头的key值。 Query:QueryString的key值。 System:系统参数。 参数:用于判断与规则匹配中的参数值是否匹配。 定义规则 定义规则的匹配条件,以及API流量限制和时长。 单击“添加规则”,可添加多个规则。 规则 单击,可添加多个条件表达式,选择“定义参数”中的参数名和判断条件,以及输入参数值。 =为等于 !=为不等于 pattern为正则表达式 enum为枚举值,多个参数值之间用英文逗号分隔 API流量限制 API调用次数的最大值。 时长 定义规则的流量控制时长,如果此处不配置时长,规则的流量控制时长以“策略基本信息”的时长为准。 例如,在“定义参数”中添加参数“Host”,参数位置选择“Header”;在“定义规则”中添加一条规则,匹配条件设置成“Host = www.abc.com”,API流量限制为10,时长为60s。表示在60s内,对于请求头域中Host参数等于“www.abc.com”的API,且API调用次数达到10,参数流控生效。 特殊流控配置 特殊流控配置开关。开启后,“基础流控”的用户流量限制/凭据流量限制与“特殊流控”的特殊租户/特殊凭据共同作用时,以特殊流控值为准。 特殊租户 租户ID为账号ID或项目ID。 绑定APP认证的API时,租户ID为项目ID,获取项目ID。 绑定华为IAM认证的API时,租户ID为账号ID,不支持细分到IAM用户维度,获取账号名和账号ID。 阈值为单位时间内,此租户访问API的最大值,不超过“基础流控”的API流量限制值。 特殊凭据 选择已有凭据,阈值为单位时间内,此凭据访问API的最大值,不超过“基础流控”的API流量限制值。
  • 脚本配置示例 { "breaker_condition":{ "breaker_type":"timeout", "breaker_mode":"counter", "unhealthy_threshold":30, "time_window":15, "open_breaker_time":15, "unhealthy_percentage":51, "min_call_threshold":20 }, "scope":"share", "downgrade_default":{ "type":"http", "passthrough_infos":null, "func_info":null, "mock_info":null, "http_info":{ "isVpc":false, "vpc_channel_id":"", "address":"10.10.10.10", "scheme":"HTTP", "method":"GET", "path":"/demo", "timeout":5000 }, "http_vpc_info":null }, "downgrade_parameters":[ { "name":"reqPath", "type":"path", "value":"path", "disabled":true, "focused":true, "id":"92002eqbpilg6g" }, { "name":"method", "type":"method", "value":"method", "disabled":true, "focused":true, "id":"tuvxetsdqvcos8" }], "downgrade_rules":[ { "rule_name":"rule-test1", "parameters":[ "reqPath", "method" ], "match_regex":"[\"reqPath\",\"==\",\"/test\"]", "downgrade_backend":{ "type":"mock", "passthrough_infos":null, "func_info":null, "mock_info":{ "status_code":200, "result_content":"{status: ok}", "headers":[] }, "http_info":null, "http_vpc_info":null }, "breaker_condition":{ "breaker_type":"timeout", "breaker_mode":"percentage", "unhealthy_threshold":30, "time_window":15, "open_breaker_time":15, "unhealthy_percentage":51, "min_call_threshold":20 } }] }
  • 配置参数说明 表1 配置参数 参数 配置说明 策略生效范围 单个API生效 对单个API进行控制。 API共享生效 对绑定了该策略的所有API进行控制。 断路器类型 选择断路器的触发类型。 超时降级:断路器以后端服务超时作为触发条件。 匹配条件降级:断路器以“匹配条件”中的设置作为触发条件。 条件模式 选择断路器的触发模式。 计数器:在时间窗内满足触发条件的请求次数达到设定阈值,则立即触发断路器。 百分比:在时间窗内满足触发条件的请求率达到设定阈值,时间窗结束后触发断路器。 匹配条件 仅当“断路器类型”选择“匹配条件降级”时需配置。 配置断路器的触发条件。 响应错误码:后端响应状态码符合设定值,则该后端请求满足触发条件。 触发降级响应时延:后端响应时延超过设定值,则该后端请求满足触发条件。 时间窗(秒) 断路器的触发次数统计时间窗,与“阈值”或“最小百分比”参数配合使用,当时间窗内的触发次数达到设定阈值或百分比,则触发断路器。 阈值(次) 仅当“条件模式”选择“计数器”时需配置。 断路器的触发阈值,与“时间窗”参数配合使用。在时间窗内,满足触发条件的后端请求次数达到阈值,则触发断路器。 说明: 断路器策略是按单个网关组件分开触发,如果API网关存在多个网关组件,则各个网关组件的触发统计分开计数。 如果某个网关组件在时间窗内的触发次数超过阈值,则发送到该网关组件上的请求会触发断路器,其他未超过阈值的网关组件依然正常转发请求。 您可以在API网关实例控制台的“实例信息”页面,在“出私网IP”下查看网关组件的IP个数,一个IP表示为一个网关组件。 最小调用次数 仅当“条件模式”选择“百分比”时需配置。 时间窗内触发断路器的API最小调用次数。如果时间窗内API的总调用次数小于该值,则不触发断路器。 最小百分比(%) 仅当“条件模式”选择“百分比”时需配置。 断路器的触发阈值,与“时间窗”参数配合使用。当时间窗内的满足触发条件的后端请求百分比达到阈值,则触发断路器。 开启时长(秒) 断路器开启的持续时间,断路器开启时间达到该值后将关闭。 后端降级策略 后端降级策略开关。 开启:触发降级的API将把请求转发到指定后端服务。 关闭:触发降级的API不会把请求转发到任何后端服务,直接返回服务不可用的错误信息。 后端策略类型 仅当“后端降级策略”开启时需配置。 断路器开启后,后端请求的转发策略类型。 Mock:把配置的响应结果作为后端服务响应固定返回。 Mock自定义返回码:后端服务响应的状态码。 Mock返回结果:后端服务响应的Body信息,JSON格式。 响应头参数:后端服务响应的Header参数。 HTTP&HTTPS:把后端服务请求转发给指定HTTP&HTTPS后端服务。 负载通道:是否使用负载通道访问后端服务。如果选择“使用”,您需要提前创建负载通道。 后端URL:配置要转发的后端服务请求地址。 后端超时(ms):后端服务请求的超时时间,默认为5000ms。 FunctionGraph:把后端服务请求转发给指定函数。 函数URN:函数请求的唯一标识。单击“添加”,添加作为后端服务的函数URN。 函数名:选择函数URN后自动配置。 版本:选择要使用的函数版本。 调用类型:选择函数的调用类型。 Synchronous:表示同步调用,后端函数服务收到调用请求后立即执行并返回调用结果,客户端发送请求后同步等待,收到后端响应后关闭连接。 Asynchronous:表示异步调用,后端函数服务收到调用请求后将请求排队,执行成功后返回调用结果,服务端在空闲的情况下会逐个处理排队的请求,客户端不关注请求调用的结果。 后端超时(ms):后端服务请求的超时时间,默认为5000ms。 Passthrough:把后端服务请求转发给API的原后端服务。 单击“添加参数”,可为转发给后端服务的请求添加请求头参数。 降级参数配置 降级参数配置开关。开启后可为断路器自定义规则,API请求优先匹配自定义规则中的触发条件和降级策略,仅当未匹配到自定义规则时才执行上方配置的默认触发条件和降级策略。 如果匹配到自定义规则,则执行规则内配置的触发条件和降级策略。如果匹配到的自定义规则内未配置触发条件或降级策略,则执行上方配置的默认触发条件或降级策略。 如果未匹配到自定义规则,则执行上方配置的默认触发条件和降级策略。 定义参数 定义用于规则匹配的参数。 参数位置:参数在API请求中的位置。 参数:用于做规则匹配的参数名。 系统默认包含reqPath(请求路径)和method(请求方法)参数。单击“添加参数”,可添加其他匹配参数。 定义规则 自定义断路器的匹配规则。单击“添加规则”,可添加规则,系统根据从上到下的顺序匹配规则,可通过上下移动调整规则优先级。 匹配条件:单击“”编辑匹配条件表达式。如果表达式数量大于等于3个,可通过“转子层级”对表达式进行分层设置。 =为等于 !=为不等于 pattern为正则表达式 enum为枚举值,多个参数值之间用英文逗号分隔 触发条件和后端降级策略配置可参考上方的默认触发条件和降级策略配置。 例如,开启“降级参数配置”,按顺序添加“rule01”和“rule02”规则,“rule01”关闭“触发条件配置”并且开启“后端降级策略”,“rule02”两者都开启。断路器优先判断“rule01”匹配条件,如果匹配则会按照上方配置的默认触发条件开启断路器(rule01内未配置触发条件),并执行rule01内的后端降级策略。如果不匹配则会继续判断“rule02”,以此类推。
  • 部署架构画图 左侧导航树选择“架构设计”进入架构设计页面。 点击左上角“新建部署架构”,需要填写架构名称,选择架构类型(对画图无影响),填写描述,选择部署情况(对画图无影响)。 在“部署架构”列表中找到刚刚新建的部署架构图,鼠标放到架构图中央,单击“查看架构图”,进入架构图。 单击画图上方“浏览”开关打开编辑功能。 右侧提供了画图需要的基础图元和各云服务图元。 左侧画图工具栏选择“自动画图”,拖动“子网”图元到画图,双击“子网”图元,选择区域、虚拟私有云和子网后单击开始分析,可以自动识别并画出该子网下的资源信息并按照逻辑架构分层。开通VPC流日志之后还可以绘制出各资源之间的关联关系。 左侧画图工具栏选择“支持全链路”,里边的云服务支持全链路一键画图。 将其中一个云服务图元(例如弹性 云服务器ECS )拖动至画布中。 双击E CS 图元,选择区域和资源类型查询该区域下的ECS实例资源,按需选择实例资源,然后单击画布或者单击右拉箭头关闭实例选择页面。 单击ECS图元,图元右侧有三个按钮,点击右侧中间按钮,进行全链路一键画图 左侧画图工具栏选择“支持实例”,里边的云服务支持实例关联,将其中一个云服务图元(例如弹性云服务器ECS)拖动至画布中,双击ECS图元,选择区域和资源类型查询该区域下的ECS实例资源,按需选择实例资源,然后单击画布或者单击右拉箭头关闭实例选择页面。
  • 修订记录 发布日期 修订记录 2023-10-09 修改 FineBI工具对接 DLI Trino、PowerBI工具对接DLI Trino补充Trino引擎支持的区域。 2023-08-15 修改 FineBI工具对接DLI Trino、PowerBI工具对接DLI Trino补充说明“Trino引擎队列仅支持HTTPS协议的连接方式”。 2023-07-21 新增 FineBI工具对接DLI Trino章节。 PowerBI工具对接DLI Trino章节。 2023-03-09 调整手册结构,将DLI数据开发相关内容迁移至《 数据湖探索 开发指南》。 2023-03-02 修改关于迁移Kafka数据至DLI中的前提条件的说明。 2023-01-18 迁移Kafka数据至DLI补充关于 CDM 配置迁移作业场景的相关说明。 2023-01-06 配置DLI队列与内网数据源的网络联通,优化“外部数据源的安全组添加放通DLI队列网段的规则”操作步骤。 2022-10-31 优化以下章节补充方案优势、流程引导、资源和成本规划等信息。 使用DLI进行车联网场景驾驶行为数据分析 使用DLI将CSV数据转换为Parquet数据 使用DLI Flink SQL进行电商实时业务数据分析 2022-09-27 新增配置DLI 队列与公网网络联通。
  • 支持的授权项 策略支持的操作与API相对应,授权项列表说明如下: 权限:自定义策略中授权项定义的内容即为权限。 对应API接口:自定义策略实际调用的API接口。 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,可以实现授权项对应的权限功能。 依赖的授权项:部分Action存在对其他Action的依赖,需要将依赖的Action同时写入授权项,才能实现对应的权限功能。 AM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生效,如果在企业管理中授权,则该自定义策略不生效。关于IAM项目与企业项目的区别,详情请参见:IAM与企业管理的区别。 “√”表示支持,“x”表示暂不支持。 GES支持自定义策略授权项如下表所示。 表1 API授权项列表 权限 对应API接口 授权项 依赖的授权项 IAM项目 (Project) 企业项目 (Enterprise Project) 查询图列表 GET /v1.0/{project_id}/graphs?offset={offset}&limit={limit} ges:graph:list 项目级服务VPC vpc:publicIps:get √ √ 查看图详情 GET /v1.0/{project_id}/graphs/{graph_id} ges:graph:getDetail - √ √ 创建图 POST /v1.0/{project_id}/graphs ges:graph:create 项目级服务ECS ecs:cloudServerFlavors:get ecs:cloudServerNics:update 项目级服务EVS evs:types:get 项目级服务VPC vpc:ports:create vpc:ports:update vpc:securityGroups:get vpc:publicIps:list vpc:ports:get vpc:subnets:get vpc:vpcs:list √ √ 关闭图 POST /v1.0/{project_id}/graphs/{graph_id}/action?action_id=stop ges:graph:operate - √ √ 启动图 POST /v1.0/{project_id}/graphs/{graph_id}/action?action_id=start ges:graph:operate - √ √ 删除图 DELETE /v1.0/{project_id}/graphs/{graph_id} ges:graph:delete 项目级服务VPC vpc:publicIps:get vpc:ports:delete vpc:ports:get √ √ 增量导入图 POST /v1.0/{project_id}/graphs/{graph_id}/action?action_id=import-graph ges:graph:operate - √ √ 导出图 POST /v1.0/{project_id}/graphs/{graph_id}/action?action_id=export-graph ges:graph:operate - √ √ 清空图 POST /v1.0/{project_id}/graphs/{graph_id}/action?action_id=clear-graph ges:graph:operate - √ √ 升级图 POST /v1.0/{project_id}/graphs/{graph_id}/action?action_id=upgrade ges:graph:operate - √ √ 重启图 POST /v1.0/{project_id}/graphs/{graph_id}/action ges:graph:operate - √ √ 变更图规格 POST /v1.0/{project_id}/graphs/{graph_id}/resize ges:graph:resize - √ √ 扩副本 POST /v1.0/{project_id}/graphs/{graph_id}/expand ges:graph:expand 项目级服务ECS ecs:cloudServerFlavors:get ecs:cloudServerNics:update 项目级服务EVS evs:types:get 项目级服务VPC vpc:ports:create vpc:ports:update vpc:securityGroups:get vpc:publicIps:list vpc:ports:get vpc:subnets:get vpc:vpcs:list √ √ 绑定EIP POST /v1.0/{project_id}/graphs/{graph_id}/action?action_id=bindEip ges:graph:operate - √ √ 解绑EIP POST /v1.0/{project_id}/graphs/{graph_id}/action?action_id=unbindEip ges:graph:operate - √ √ 查看所有备份列表 GET /v1.0/{project_id}/graphs/backups?offset={offset}&limit={limit} ges:backup:list - √ √ 查看某个图的备份列表 GET /v1.0/{project_id}/graphs/{graph_id}/backups?offset={offset}&limit={limit} ges:backup:list - √ √ 新增备份 POST /v1.0/{project_id}/graphs/{graph_id}/backups ges:backup:create - √ √ 删除备份 DELETE /v1.0/{project_id}/graphs/{graph_id}/backups/{backup_id} ges:backup:delete - √ √ 查询元数据列表 GET /v1.0/{project_id}/graphs/metadatas?offset={offset}&limit={limit} ges:metadata:list - √ √ 查询元数据 GET /v1.0/{project_id}/graphs/metadatas/{metadata_id} ges:metadata:list - √ √ 校验元数据 POST /v1.0/{project_id}/graphs/action?action_id=check-schema ges:metadata:operate - √ √ 新增元数据 POST /v1.0/{project_id}/graphs/metadatas ges:metadata:create - √ √ 删除元数据 DELETE /v1.0/{project_id}/graphs/metadatas/{metadata_id} ges:metadata:delete - √ √ 查询任务状态 GET /v1.0/{project_id}/graphs/{graph_id}/jobs/{job_id}/status ges:jobs:getDetail - √ √ 查询任务列表 GET /v1.0/{project_id}/graphs/jobs?offset={offset}&limit={limit} ges:jobs:list - √ √
  • 响应参数 表2 响应Body参数说明 参数 类型 说明 graphs Array of graphs objects 返回的图列表。 result String 查询成功时值为success,失败时值为failed。 表3 graphs 参数 类型 说明 graph_name String 返回的图名。 idType String ID类型。 idLength Integer ID长度。 sortKeyType String sortKey类型。 averageImportRate Integer 平均导入率。
  • 响应示例 状态码: 200 成功响应示例 Http Status Code: 200 { "graphs": [ { "graph_name": "movieee", "idType": "fixedLengthString", "idLength": 20, "sortKeyType":"varString", "averageImportRate": 0.0 }, { "graph_name": "ldbc", "idType": "fixedLengthString", "idLength": 20, "sortKeyType":"int", "averageImportRate": 0.0 } ], "result": "success" } 状态码: 400 失败响应示例 Http Status Code: 400 { "result": "failed" }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见 获取Token 接口,响应消息头中X-Subject-Token的值即为Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 expand 是 expand object expand是一个对象 表4 expand 参数 是否必选 参数类型 描述 replication 是 Integer 新扩副本数量。
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 job_id String 扩副本任务ID。请求失败时字段为空。 说明: 可以查询jobId查看任务执行状态、获取返回结果,详情参考任务中心API。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 error_msg String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。
  • 响应参数 表5 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId String 执行该异步任务的jobId。 可以查询jobId查看任务执行状态、获取返回结果,详情参考查询Job状态(1.0.0)-业务面。
  • 响应示例 状态码: 200 成功响应示例 HttpStatusCode: 200 { "jobId": "f99f60f1-bba6-4cde-bd1a-ff4bdd1fd500000168232" } 状态码: 400 失败响应示例 HttpStatusCode: 400 { "errorMessage": "graph [demo] is not found", "errorCode": "GES.8011" }
  • 功能介绍 用于将异步任务(jobId)的执行结果(result)导出到文件。 支持算法列表: pagerank、personalrank、pixie louvain、label_propagation、connect_component kcore sssp、shortest_path(含time_window_shortest_path)、shortest_path_of_vertex_sets、all_shortest_paths、n_paths traingle_count、cluster_coefficient、degree_correlation、closeness link_prediction betweenness、edge_betweenness、od_betweenness 支持查询列表 Cypher操作API(2.2.16) 点过滤查询(1.0.0) 边过滤查询(1.0.0)
  • URI POST /ges/v1.0/{project_id}/graphs/{graph_name}/jobs/{job_id}/action?action_id=export-result 表1 路径参数 参数 是否必选 类型 说明 project_id 是 String 项目ID。获取方法请参见获取项目ID。 graph_name 是 String 图名称。 job_id 是 String Response对应的任务Job ID。
  • 请求参数 表2 Body参数说明 参数 是否必选 类型 说明 exportPath 是 String 导出路径。 fileName 否 String 导出文件名。 obsParameters 是 String OBS认证参数。具体请见表3。 paginate 否 Object 分页参数,导出异步任务API默认关闭分页,具体请见表表4。 erase 否 Boolean 导出后是否删除原job任务,取值为true或false,默认值为true即表示默认删除job并释放资源。 表3 obsParameters参数说明 参数 是否必选 类型 说明 accessKey 是 string ak值。 secretKey 是 string sk值。 表4 paginate中各要素说明 参数 是否必选 类型 说明 enable 否 Bool 是否开启分页,默认为false,需要开启分页时,需输入值true。 rowCountPerFile 否 Int 按页导出时,每个文件最大行数,默认10000000。 numThread 否 Int 按页导出时,并行线程数,默认为8。 maxSizePerFile 否 Int 按页导出时,每个文件大小的最大值,单位是byte。 分页参数说明 当分页参数开启状态下,请求体中fileName代表目录名,目录下存放分页的文件;分页参数关闭时,fileName代表文件名。导出前请保证文件名指向的路径为空,确保导出时不会覆盖OBS上已有数据。 当numThread的值大于GES图实例使用的机器cpu数时,会配置为机器cpu数。 rowCountPerFile的值会影响实际使用的线程数。即当结果集大小和rowCountPerFile的比值小于numThread时,会使用这个比值作为线程数。 如果请求被用户取消,已上传到OBS中的数据不会删除,有关取消Job的API详见取消Job(1.0.0)。 分页开启时文件名的命名规则: 分页选项中enable参数为true时,fileName代表一个目录,目录下的文件使用线程id与文件编号的组合命名,中间使用“.”连接。例如,对于320万条数据,不同配置下第一个文件名和最后一个文件名示例如下: rowCountPerFile 10万 10万 100万 100万 500万 numThread 2 48 2 5 2 实际使用的线程 2 32 2 4 1 单线程生成文件数 16 1 2 1 1 第一个文件名 00.000.txt 00.000.txt 00.00.txt 00.00.txt 00.00.txt 最后一个文件名 01.015.txt 031.000.txt 01.01.txt 03.00.txt 00.00.txt 百亿图进行数据导出时,为多节点数据同时导出,文件名前会使用机器id编号作为前缀。
  • 请求参数 表2 Body参数说明 参数 是否必选 类型 说明 project_id 是 String 项目ID。获取方法请参见获取项目ID。 graph_name 是 String 图名称。 sourceVertex 是 String 边的起点。 targetVertex 是 String 边的终点。 label(持久化版) 否 String 边的label值。 sortKey(持久化版) 否 String 重复边的sortKey值。 sortKeyType(持久化版) 否 String 重复边sortKey的类型,int/string/null/varString,sortKey被传入时,此参数为必需,类型与创建图时的sortKey类型需一致,null除外。
  • 响应示例 状态码: 200 成功响应样例 { "data": { "edges": [ { "source": "46", "target": "39", "label": "rate", "sortKey": 5, "properties": { "Rating": [ 5 ], "Datetime": [ "2018-01-0120:30:05" ] } } ] }, "result": "success" } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage":"graph [demo] is not found", "errorCode":"GES.8107" }
  • 响应参数 表3 响应Body参数 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 data Object 查询结果。查询成功时显示结果,若查询失败时,字段为空。 result String 查询成功时值为success,失败时值为failed。 表4 data参数说明 参数 是否必选 类型 说明 edges 是 List 边的结果集合。没有查询到对应边时,edges内容为空。
  • URI POST /ges/v1.0/{project_id}/graphs/{graph_name}/edges/properties/action?action_id={actionId} 表1 路径参数 参数 是否必选 类型 说明 project_id 是 String 项目ID。获取方法请参见获取项目ID。 graph_name 是 String 图名称。 actionId 是 String 操作符。 batch-update 更新该属性的值。 batch-add 添加属性的值。当属性的cardinality为single时,其操作与update一致;当cardinality为list或set时,意为向集合中添加值。 batch-del 删除属性的值。
  • 请求参数 表2 Body参数说明 参数 是否必选 类型 说明 edges 是 Json 待更新边数组。 表3 edges参数说明 参数 是否必选 类型 说明 source 是 String 边的source节点。 target 是 String 边的target节点。 label 否 String 边的label。 sortKey 否 String/int/null/varString 重复边的sortKey,查询时给出sortKey必须给出label,类型与创建图时的sortKey类型需一致,null除外。 properties 是 Object 各个属性的值。
  • 请求示例 批量更新边属性,边的起点为46,边的终点分别为39,38。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/edges/properties/action?action_id=batch-update { "edges": [ { "source": "46", "target": "39", "properties": { "Rating": [ 5 ], "Datetime": [ "2018-01-0120:30:05" ] } }, { "source": "46", "target": "38", "index": "0", "properties": { "Rating": [ 4 ], "Datetime": [ "2018-01-0120:30:05" ] } } ] } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 响应参数及示例 同步模式 表4 响应Body参数说明 参数 类型 说明 errorMessage String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 result String 响应结果。成功时result值为success,失败时值为failed。 状态码: 200 成功响应示例 Http Status Code: 200 { "result": "success" } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage":"parameter does not contain 'source'", "errorCode":"GES.8000" } 异步模式(2.2.14) 表5 响应Body参数说明 参数 是否必选 类型 说明 errorMessage 否 String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误信息。 errorCode 否 String 系统提示信息。 执行成功时,字段可能为空。 执行失败时,用于显示错误码。 jobId 否 String 执行删除任务ID。 请求失败时,该字段为空。后续可以用此ID作为参数通过“查询Job状态”接口获取删除结果。 jobType 否 Integer 任务类型。 请求失败时,该字段为空。 状态码: 200 成功响应示例 Http Status Code: 200 { "jobId": "500dea8f-9651-41fe-8299-c20f13a032ea", "jobType": 3 } 状态码: 400 失败响应示例 Http Status Code: 400 { "errorMessage": "graph [test_117d] is not found", "errorCode": "GES.8402" }
  • 请求参数 表2 Body参数说明 参数 是否必选 类型 说明 edges 是 Object 待删除的边数组。 executionMode 否 String sync表示同步,async表示异步,默认为“sync”同步模式。 ignoreError 否 Boolean 是否忽略错误,比如待删除的边不存在;默认值为false,不忽略,注意Json格式错误不会忽略。 表3 edges参数说明 参数 是否必选 类型 说明 source 是 String 边的source节点。 target 是 String 边的target节点。 label 否 String 边的label,当存在index参数时会被忽略,当index不存在时会尝试删除同时满足source/target/label条件的一条边。label不存在于schema中或同label的边不存在时不会删除任何边。 sortKey 否 String/int/null/varString 重复边的sortKey,查询时给出sortKey必须给出label,类型与创建图时的sortKey类型需一致,null除外。
  • 请求示例 批量删除边,边的起点分别为39631050_景观和27803870_地标建筑,边的终点分别为27803870_地标建筑和27661363_山庄温泉。 POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/edges/action?action_id=batch-delete { "edges": [ { "source": "39631050_景观", "target": "27803870_地标建筑" }, { "label": "road", "source": "27803870_地标建筑", "target": "27661363_山庄温泉" } ], "ignoreError": true } SERVER_URL:图的访问地址,取值请参考业务面API使用限制。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 用于获取操作API的权限。获取方法请参见获取Token接口,响应消息头中X-Subject-Token的值即为Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 graph_export_path 是 String 图的导出OBS路径。 edge_set_name 是 String 导出边的文件夹名称。 vertex_set_name 是 String 导出点的文件夹名称。 schema_name 是 String 导出元数据文件名。 paginate 否 paginate object 分页相关参数,内存版自2.3.11版本起导出图默认分页导出。 表4 paginate 参数 是否必选 参数类型 描述 enable 否 Boolean 是否开启分页,默认为true,不需要开启分页时,需显示声明为false。 说明: 持久化版暂不支持该参数。 row_count_per_file 否 Integer 按页导出时,每个文件最大行数,默认10000000。 num_thread 否 Integer 按页导出时,并行线程数,默认为8。
  • 请求示例 导出图,图的导出OBS路径为demo_movie/,导出边文件名为set_edge,导出点文件名为set_vertex,导出元数据文件名为set_schema.xml。 POST http://Endpoint/v2/{project_id}/graphs{graph_id}/export-graph { "graph_export_path" : "demo_movie/", "edge_set_name" : "set_edge", "vertex_set_name" : "set_vertex", "schema_name" : "set_schema.xml" }
共100000条