更新时间:2025-03-05 GMT+08:00

创建图

功能介绍

创建一个图。

URI

POST /v1.0/{project_id}/graphs

表1 路径参数

参数

是否必选

参数类型

描述

project_id

是

String

项目ID。获取方法请参见获取项目ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

是

String

用户Token。

用于获取操作API的权限。获取方法请参见获取Token接口,响应消息头中X-Subject-Token的值即为Token。

表3 请求Body参数

参数

是否必选

参数类型

描述

graph

是

graph object

图类型。

表4 graph

参数

是否必选

参数类型

描述

name

是

String

图名称(输入长度在4位到50位之间,必须以字母开头,可以包含字母、数字或者下划线,不能包含其他的特殊字符)。

graphSizeTypeIndex

是

String

图规模类型索引。

  • 0:一万边
  • 1:百万边
  • 2:千万边
  • 3:一亿边
  • 4:十亿边
  • 5:百亿边
  • 401:十亿增强边

arch

否

String

图实例CPU架构类型,取值为x86_64和aarch64。默认取x86_64。

  • x86_64:X86 64位架构。
  • aarch64:ARM 64位架构。

vpcId

是

String

虚拟私有云ID。

subnetId

是

String

指定虚拟私有云下的子网ID。

securityGroupId

是

String

安全组ID。

publicIp

否

publicIp object

公网IP地址,如果未指定,则默认不使用公网连接。

enableMultiAz

否

Boolean

创建的图是否支持跨可用区(AZ),默认值是false,如果设置为true,系统将会把图中的ECS建在两个可用区中。

如果创建图时,不加该参数,则会将图中的ECS都建在一个可用区中。

encryption

否

encryptionReq object

图实例是否加密,默认不加密。

ltsOperationTrace

否

object

图实例是否开启审计日志,默认不开启。

sys_tags

否

Array of SysTagsRes objects

企业项目信息,如果未指定则不开启,默认不开启。

tags

否

Array of SysTagsRes objects

支持标签TMS,做费用归集,默认不开启。

enableRBAC

否

Boolean

创建的图是否启用细粒度权限控制,默认不启用,值为false。如果设置为true,创建的图所有用户都没有权限,需要调用业务面细粒度权限控制API进行授权操作才可以访问图。

cryptAlgorithm

是

String

图实例加密算法,取值为:

  • generalCipher:国密算法
  • SMcompatible:商密算法(兼容国际)

enableHttps

是

Boolean

是否开启安全模式,开启安全模式会对性能有较大影响

tags

否

JsonArray

标签列表,每个标签用<key,value>键值对表示。

表5 parameters

参数

是否必选

参数类型

描述

schemaPath

是

String

元数据文件OBS路径,只支持文件。

edgesetPath

是

String

边数据集文件OBS路径,只支持文件。

edgesetFormat

否

String

边数据集格式。当前仅支持csv。

默认为csv。

edgesetDefaultLabel

否

String

边数据集默认标签,当前默认为空,可以不填。

vertexsetPath

否

String

点数据集OBS路径,只支持文件。

vertexsetFormat

否

String

点数据集格式。当前仅支持csv。

默认为csv。

vertexsetDefaultLabel

否

String

点数据集默认标签,当前默认为空,可以不填。

logDir

否

String

OBS日志存储目录,用于存储建图过程导入失败的数据和详细日志。

parallelEdge

否

parallelEdge object

重复边处理。

  • schemaPath、edgesetPath、vertexsetPath、logDir字符串取值合法性参考OBS对象名约束。
表6 parallelEdge

参数

是否必选

参数类型

描述

action

否

String

处理方式,取值为allow,ignore和override,默认为allow。

  • allow表示允许重复边。
  • ignore表示忽略之后的重复边。
  • override表示覆盖之前的重复边。

ignoreLabel

否

Boolean

重复边的定义,是否忽略Label。取值为true或者false,默认取true。

  • true 表示重复边定义不包含Label,即用<源点,终点>标记一条边,不包含Label。
  • false 表示重复边定义包含Label,即用<源点,终点,Label>标记一条边。
表7 publicIp

参数

是否必选

参数类型

描述

publicBindType

否

String

弹性IP绑定类型,取值如下。

  • auto_assign:自动绑定。
  • bind_existing:使用已有。

eipId

否

String

弹性IP的id。

  • 当publicBindType设置为bind_existing时,该值为用户某个已创建但尚未绑定的EIP的ID。
  • 当publicBindType设置为auto_assign时,该值设置为空。
表8 encryptionReq

参数

是否必选

参数类型

描述

enable

否

Boolean

是否启动加密特性。取值为“true”或者“false”。默认为“false”。

masterKeyId

否

String

与建图对应的project下,数据加密服务创建的用户主密钥ID。

表9 SysTagsRes

参数

是否必选

参数类型

描述

key

否

String

企业项目的key值,需要填:_sys_enterprise_project_id。

value

否

String

企业项目的id。可以从企业项目获取。

响应参数

状态码: 200

表10 响应Body参数

参数

参数类型

描述

id

String

图ID。

name

String

图名称。

errorMessage

String

系统提示信息。

  • 执行成功时,字段可能为空。
  • 执行失败时,用于显示错误信息。

errorCode

String

系统提示信息。

  • 执行成功时,字段可能为空。
  • 执行失败时,用于显示错误码。

请求示例

POST https://Endpoint/v1.0/{project_id}/graphs
{
    "graph":{
        "name":"demo",
        "graphSizeTypeIndex": "1",
        "arch":"x86_64",
        "vpcId":"2d8af840-fd57-4e3b-a8f1-cda0f55ccd99",
        "subnetId":"dc018ec3-67d1-46c9-b2fc-19d83367f4e2",
        "securityGroupId":"11d27338-8649-4076-8579-5ebc1a60f79e",
        "publicIp":{
           "publicBindType":"bind_existing",
           "eipId":"30ef2d58-08a9-4481-b526-b2cbe67d020d"
        },
        "enableMultiAz":false,
	"encryption":{
           "enable":true,
           "masterKeyId":"b00b9356-73fb-4d49-8f79-f0a5da5354d1"
        },
        "cryptAlgorithm": "generalCipher",
        "enableHttps": "false"
    }
}

响应示例

状态码: 200

OK

{
  "id" : "f1529b88-c958-493e-8452-fccfe932cde1",
  "name" : "demo"
}

状态码

状态码

说明

200

请求成功。

400

请求错误。

401

鉴权失败。

403

没有操作权限。

404

找不到资源。

500

服务内部错误。

503

服务不可用。