
# 创建函数流 - CreateGraph
#### 功能介绍
创建函数流
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-functiongraph/functiongraph_06_0200.html#functiongraph_06_0200)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-functiongraph/functiongraph_06_1100.html#functiongraph_06_1100)。
#### URI
POST /v1/{project_id}/ffs/graphs
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| project_id | 是    | String | **参数解释**: 租户项目 ID，获取方式请参见[获取项目ID](https://support.huaweicloud.com/api-functiongraph/functiongraph_06_0260.html#functiongraph_06_0260)。 **约束限制**: 不涉及。 **取值范围**: 只能由英文字母、数字组成，且长度为32个字符 **默认取值**: 不涉及。 |
   
#### 请求参数
表2请求Header参数 
| 参数              | 是否必选 | 参数类型   | 描述   |
|:---|:---|:---|:---|
| x-cloud-service | 否    | String | 用户标签 |
   
表3请求Body参数 
| 参数                     | 是否必选 | 参数类型                                                                                                   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| id                     | 否    | String                                                                                                 | 流程定义ID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| name                   | 否    | String                                                                                                 | 名字                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| description            | 否    | String                                                                                                 | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| nodes                  | 否    | Array of [GraphNode] objects | nodes                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| edges                  | 否    | Array of [GraphEdge] objects | edges                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| constants              | 否    | String                                                                                                 | constants                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| label                  | 否    | String                                                                                                 | label                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| enterprise_project_id  | 否    | String                                                                                                 | enterprise_project_id                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| merge_params           | 否    | Boolean                                                                                                | merge_params                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| mode                   | 否    | String                                                                                                 | mode                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| enable_stream_response | 否    | Boolean                                                                                                | 是否返回流数据                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| express_config         | 否    | [ExpressConfig] object   | **参数解释**: FunctionGraph工作流快速工作流配置项。 **约束限制**： 快速函数流模式配置，当mode为EXPRESS时需要设置。 **取值范围**: 不涉及。 **默认取值**： 不涉及。 |
   
 表4GraphNode 
| 参数             | 是否必选 | 参数类型                                                                                 | 描述             |
|:---|:---|:---|:---|
| id             | 否    | String                                                                               | ID             |
| name           | 否    | String                                                                               | 名称             |
| category       | 否    | String                                                                               | 种类             |
| description    | 否    | String                                                                               | 描述             |
| parent_node    | 否    | String                                                                               | parent_node    |
| shape          | 否    | [Shape] object | shape          |
| position_x     | 否    | Integer                                                                              | position_x     |
| position_y     | 否    | Integer                                                                              | position_y     |
| execution_id   | 否    | String                                                                               | 流程节点执行ID       |
| incoming_edges | 否    | Array of strings                                                                     | incoming_edges |
| outgoing_edges | 否    | Array of strings                                                                     | outgoing_edges |
   
 表5GraphEdge 
| 参数    | 是否必选 | 参数类型                                                                                 | 描述    |
|:---|:---|:---|:---|
| id    | 否    | String                                                                               | id    |
| from  | 否    | String                                                                               | from  |
| to    | 否    | String                                                                               | to    |
| label | 否    | String                                                                               | label |
| shape | 否    | [Shape] object | shape |
   
 表6Shape 
| 参数       | 是否必选 | 参数类型   | 描述       |
|:---|:---|:---|:---|
| geometry | 否    | String | geometry |
| style    | 否    | String | style    |
   
 表7ExpressConfig 
| 参数        | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| log_level | 否    | String | **参数解释**: 日志级别 **取值范围**: - ALL：全部日志   - ERROR：错误日志   - NONE：不记录日志    |
   
#### 响应参数
**状态码：201**
表8响应Body参数 
| 参数                     | 参数类型                                                                                                                | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|
| id                     | String                                                                                                              | 流程定义ID                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| name                   | String                                                                                                              | 名字                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| description            | String                                                                                                              | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| nodes                  | Array of [GraphNode] objects             | nodes                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| edges                  | Array of [GraphEdge] objects             | edges                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| domain_name            | String                                                                                                              | domain_name                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| domain_id              | String                                                                                                              | domain_id                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| project_id             | String                                                                                                              | project_id                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| workflow_id            | String                                                                                                              | workflow_id                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| workflow_run_id        | String                                                                                                              | workflow_run_id                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| created                | String                                                                                                              | 创建时间，格式：yyyy-MM-ddTHH:mm:ssZ，UTC时间                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| updated                | String                                                                                                              | 更新时间，格式：yyyy-MM-ddTHH:mm:ssZ，UTC时间                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| task_status            | String                                                                                                              | task_status                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| error_info             | [OperateErrorResponse] object | OperateErrorResponse                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| workflow_urn           | String                                                                                                              | workflow_urn                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| workflow_definition    | [WorkflowCreateBody] object     | **参数解释**: FunctionGraph工作流创建body体 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                          |
| constants              | String                                                                                                              | constants                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| label                  | String                                                                                                              | label                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| privilege              | String                                                                                                              | privilege                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| enterprise_project_id  | String                                                                                                              | enterprise_project_id                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| merge_params           | Boolean                                                                                                             | merge_params                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| mode                   | String                                                                                                              | mode                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| express_config         | [ExpressConfig] object               | **参数解释**: FunctionGraph工作流快速工作流配置项。 **约束限制**： 快速函数流模式配置，当mode为EXPRESS时需要设置。 **取值范围**: 不涉及。 **默认取值**： 不涉及。 |
| lts_group_id           | String                                                                                                              | lts_group_id                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| lts_stream_id          | String                                                                                                              | lts_stream_id                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| enable_stream_response | Boolean                                                                                                             | 是否返回流数据                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
   
 表9GraphNode 
| 参数             | 参数类型                                                                                  | 描述             |
|:---|:---|:---|
| id             | String                                                                                | ID             |
| name           | String                                                                                | 名称             |
| category       | String                                                                                | 种类             |
| description    | String                                                                                | 描述             |
| parent_node    | String                                                                                | parent_node    |
| shape          | [Shape] object | shape          |
| position_x     | Integer                                                                               | position_x     |
| position_y     | Integer                                                                               | position_y     |
| execution_id   | String                                                                                | 流程节点执行ID       |
| incoming_edges | Array of strings                                                                      | incoming_edges |
| outgoing_edges | Array of strings                                                                      | outgoing_edges |
   
 表10GraphEdge 
| 参数    | 参数类型                                                                                  | 描述    |
|:---|:---|:---|
| id    | String                                                                                | id    |
| from  | String                                                                                | from  |
| to    | String                                                                                | to    |
| label | String                                                                                | label |
| shape | [Shape] object | shape |
   
 表11Shape 
| 参数       | 参数类型   | 描述       |
|:---|:---|:---|
| geometry | String | geometry |
| style    | String | style    |
   
 表12OperateErrorResponse 
| 参数           | 参数类型   | 描述           |
|:---|:---|:---|
| graph_id     | String | graph_id     |
| error_detail | String | error_detail |
   
 表13WorkflowCreateBody 
| 参数                     | 参数类型                                                                                                              | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| name                   | String                                                                                                            | **参数解释**: FunctionGraph工作流名称。 **约束限制**： \^(\[_a-zA-Z0-9().-\]\|\[\\u4e00-\\u9fa5\]){1,64}$ **取值范围**: \[1, 64\] **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| description            | String                                                                                                            | **参数解释**: FunctionGraph工作流描述。 **约束限制**： \^(\[_a-zA-Z0-9().-\]\|\[\\u4e00-\\u9fa5\]){1,512}$ **取值范围**: \[1, 512\] **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| start                  | String                                                                                                            | **参数解释**: FunctionGraph工作流开始节点ID。 **约束限制**： 不涉及。 **取值范围**: \[1, 256\] **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| triggers               | Array of [Trigger] objects               | **参数解释**: FunctionGraph工作流触发器列表。 **约束限制**： 不涉及。 **取值范围**: \[0, 200\] **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| functions              | Array of [Function] objects             | **参数解释**: FunctionGraph工作流函数列表。 **约束限制**： 不涉及。 **取值范围**: \[0, 100\] **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| states                 | Array of [OperationState] objects | **参数解释**: FunctionGraph工作流节点列表。 **约束限制**： 不涉及。 **取值范围**: \[1, 100\] **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| constants              | Object                                                                                                            | **参数解释**: FunctionGraph工作流常量。 **约束限制**： 不涉及。 **取值范围**: 不涉及。 **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| retries                | Array of [Retry] objects                   | **参数解释**: FunctionGraph工作流重试策略列表。 **约束限制**： 不涉及。 **取值范围**: \[0, 200\] **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| mode                   | String                                                                                                            | **参数解释**: FunctionGraph工作流模式，默认标准模式。 **约束限制**： 不涉及。 **取值范围**: - NORMAL：标注模式   - EXPRESS：快速模式    **默认取值**： NORMAL |
| express_config         | [ExpressConfig] object             | **参数解释**: 快速函数流模式配置，当mode为EXPRESS时需要设置。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| enterprise_project_id  | String                                                                                                            | **参数解释**: FunctionGraph工作流企业项目。 **约束限制**： 不涉及。 **取值范围**: \[0, 64\] **默认取值**： 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| enable_stream_response | Boolean                                                                                                           | **参数解释**: FunctionGraph工作流是否支持流式返回。 **约束限制**： 不涉及。 **取值范围**: 不涉及。 **默认取值**： false                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
   
 表14Trigger 
| 参数             | 参数类型                                                                                                        | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|
| trigger_name   | String                                                                                                      | **参数解释**: 触发器名称 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| trigger_type   | String                                                                                                      | **参数解释** 触发器类型 **取值范围** - FLOWTIMER：定时触发器   - SMN：SMN触发器   - APIG：APIG触发器(共享版)   - APIG_DE：APIG触发器(专享版)   - OBS：OBS触发器    |
| enabled        | Boolean                                                                                                     | **参数解释**: 是否启用触发器 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| trigger_config | [OBSTriggerConfig] object | **参数解释**: OBS触发器配置 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   
 表15OBSTriggerConfig 
| 参数     | 参数类型             | 描述                                                                                                                                                                                                                                                        |
|:---|:---|:---|
| bucket | String           | **参数解释**: OBS桶名 **取值范围**: 不涉及。    |
| events | Array of strings | **参数解释**: OBS事件列表 **取值范围**: 不涉及。  |
| prefix | String           | **参数解释**: OBS对象名前缀 **取值范围**: 不涉及。 |
| suffix | String           | **参数解释**: OBS对象名后缀 **取值范围**: 不涉及。 |
   
 表16Function 
| 参数        | 参数类型   | 描述                                                                                                                                                                                                                                                                  |
|:---|:---|:---|
| name      | String | **参数解释**: 函数名称，在单个流程中，名称需要唯一 **取值范围**: 不涉及。 |
| operation | String | **参数解释**: 函数调用URN **取值范围**: 不涉及。            |
| metadata  | Object | **参数解释**: 函数扩展信息, 由用户自己定制。 **取值范围**: 不涉及。   |
   
 表17OperationState 
| 参数                | 参数类型                                                                                                      | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|
| action_mode       | String                                                                                                    | **参数解释**: 节点执行模式 **取值范围**: - sequential: 串行模式   - parallel: 并行模式                                                                                                                                                                                                                                                                                    |
| actions           | Array of [Action] objects         | **参数解释**: 节点执行操作列表 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| on_errors         | Array of [OnError] objects       | **参数解释**: 节点执行错误处理策略列表 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| id                | String                                                                                                    | **参数解释**: 节点ID, 工作流中唯一 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| name              | String                                                                                                    | **参数解释**: 节点名称 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| type              | String                                                                                                    | **参数解释**: 节点类型表 **取值范围**: - Operation: 操作节点   - Sleep: 暂停节点   - End: 结束节点    |
| end               | Boolean                                                                                                   | **参数解释**: 是否是结束节点 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| transition        | String                                                                                                    | **参数解释**: 下一节点ID **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| state_data_filter | [StateDataFilter] object | **参数解释**: 过滤表达式 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| duration          | Long                                                                                                      | **参数解释**: 时间等待节点等待时间（秒）,节点类型为Sleep时为必填，节点类型不为Sleep时无效 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
   
 表18Action 
| 参数           | 参数类型                                                                                              | 描述                                                                                                                                                                                                                                                      |
|:---|:---|:---|
| function_ref | [FunctionRef] object | **参数解释**: 函数调用信息 **取值范围**: 不涉及。 |
   
 表19FunctionRef 
| 参数          | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|
| ref_name    | String | **参数解释**: 函数引用名称, 需要和外层functions中的name对应 **取值范围**: 不涉及。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| invoke_mode | String | **参数解释**: 函数调用模式, 目前只支持同步调用 **取值范围**: - synchronize: 同步调用   - asynchronous: 异步调用    |
| arguments   | Object | **参数解释** 函数执行时的入参，支持引用constants中的常量 定义方式：参数路径 \| 常量值/常量路径 参数路径指输入参数的JsonPath路径，如$.a.b\[0\].c 常量值可以为数字类型，字符串类型(需要用单引号括起来)，布尔类型 常量路径为常量的JsonPath路径，但是根节点需要用$CONST表示，示例：$CONST.a.b **取值范围** 不涉及。                                                                                                                                                                                                             |
   
 表20OnError 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                   |
|:---|:---|:---|
| error      | String | **参数解释**: 错误匹配表达式，用来过滤需要处理的异常 **取值范围**: 不涉及。 |
| transition | String | **参数解释**: 下一步骤节点ID **取值范围**: 不涉及。            |
| retry_ref  | String | **参数解释**: 重试策略名称 **取值范围**: 不涉及。              |
   
 表21StateDataFilter 
| 参数     | 参数类型   | 描述                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| input  | String | **参数解释**: 输入过滤表达式（JsonPath） **取值范围**: 不涉及。 |
| output | String | **参数解释**: 输出过滤表达式（JsonPath） **取值范围**: 不涉及。 |
   
 表22Retry 
| 参数           | 参数类型   | 描述                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| name         | String | **参数解释**: 重试策略名称，在单个流程中，名称需要唯一。 **取值范围**: 不涉及。 |
| delay        | Long   | **参数解释**: 重试间隔，单位：秒。若不传，默认为1。 **取值范围**: 不涉及。   |
| max_attempts | Long   | **参数解释**: 最大重试次数，若不传，默认为3。 **取值范围**: 不涉及。      |
   
 表23ExpressConfig 
| 参数        | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|
| log_level | String | **参数解释**: 日志级别 **取值范围**: - ALL：全部日志   - ERROR：错误日志   - NONE：不记录日志    |
   
**状态码：400**
表24响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
| request_id | String | 请求ID |
   
**状态码：500**
表25响应Body参数 
| 参数         | 参数类型   | 描述   |
|:---|:---|:---|
| error_code | String | 错误码  |
| error_msg  | String | 错误描述 |
| request_id | String | 请求ID |
   
#### 请求示例
无
#### 响应示例
无
#### 状态码
| 状态码 | 描述                    |
|:---|:---|
| 201 | Created               |
| 400 | Bad Request           |
| 500 | Internal Server Error |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-functiongraph/ErrorCode.html)。
