更新时间:2022-08-09 GMT+08:00

创建图

功能介绍

创建一个图。

URI

POST /v1.0/{project_id}/graphs

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目编号,用于资源隔离。请参考获取项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 请求Body参数

参数

是否必选

参数类型

描述

graph

graph object

图类型。

表4 graph

参数

是否必选

参数类型

描述

name

String

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

graphSizeTypeIndex

String

图规模类型索引。

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

arch

String

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

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

dataSource

dataSource object

数据源。创建建空图时不设置该字段。

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 dataSource

参数

是否必选

参数类型

描述

type

String

数据源类型。取值为OBS,且当前只支持OBS。

parameters

object

数据源参数。

表6 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对象名约束
表7 parallelEdge

参数

是否必选

参数类型

描述

action

String

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

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

ignoreLabel

Boolean

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

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

参数

是否必选

参数类型

描述

publicBindType

String

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

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

eipId

String

弹性IP的id,当publicBindType设置为bind_existing时,该值为用户某个已创建但尚未绑定的EIP的ID;当publicBindType设置为auto_assign时,该值设置为空。

表9 encryptionReq

参数

是否必选

参数类型

描述

enable

Boolean

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

masterKeyId

String

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

表10 SysTagsRes

参数

是否必选

参数类型

描述

key

String

企业项目的key填:_sys_enterprise_project_id。

value

String

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

响应参数

状态码: 200

表11 响应Body参数

参数

参数类型

描述

id

String

图ID。

name

String

图名称。

errorMessage

String

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

errorCode

String

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

请求示例

POST https://Endpoint/v1.0/{project_id}/graphs
{
    "graph":{
        "name":"demo",
	"dataSource": {
			"type": "OBS",
			"parameters": {
				"schemaPath": "hkmovie/testcre/schema.xml",
				"edgesetPath": "hkmovie/testcre/edges/edge.csv",
				"edgesetFormat": "csv",
				"edgesetDefaultLabel": "",
				"vertexsetPath": "hkmovie/testcre/vetexs/vertex.csv",
				"vertexsetFormat": "csv",
				"vertexsetDefaultLabel": "",
				"logDir": "hkmovie/logdir",
                                "parallelEdge": { 
                                      "action":"override",
                                      "ignoreLabel":true
                                     }
			}
        },
        "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"
        },
    }
}

响应示例

状态码: 200

OK

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

状态码

状态码

描述

200

OK