Creates a flow.
Operation description
Description
The number of flows that you can create is limited by your resource quota. For more information, see Limits. To request a quota increase, you can submit a ticket.
Flow names must be unique within an Alibaba Cloud account.
Try it now
Test
RAM authorization
|
Action |
Access level |
Resource type |
Condition key |
Dependent action |
|
fnf:CreateFlow |
create |
*Flow
|
None | None |
Request parameters
|
Parameter |
Type |
Required |
Description |
Example |
| Name |
string |
Yes |
The name of the flow. The name must be unique within the same region and cannot be changed after the flow is created. The name must meet the following requirements:
|
my_flow_name |
| Definition |
string |
Yes |
The definition of the flow, which must comply with the Flow Definition Language (FDL) syntax. For forward compatibility, the system supports two versions of the flow definition specification. Note
In the example flow definitions, Name: my_flow_name specifies the flow name. The value must be the same as the value of the Name request parameter. |
旧版: " type: flow version: v1 name: my_flow_name steps: - type: pass name: mypass " 新版: " Type: StateMachine SpecVersion: v1 Name: my_flow_name StartAt: my_state States: - Type: Pass Name: my_state End: true " |
| Description |
string |
Yes |
The description of the flow. |
my test flow |
| Type |
string |
Yes |
The type of the flow. Set the value to FDL. Valid values:
|
FDL |
| RoleArn |
string |
No |
The Alibaba Cloud Resource Name (ARN) of the RAM role that Serverless Workflow assumes to access resources when the flow is executed. |
acs:ram:${region}:${accountID}:${role} |
| ExternalStorageLocation |
string |
No |
The external storage location. |
/path |
| ExecutionMode |
string |
No |
The execution mode. Valid values: Express and Standard. For forward compatibility, an empty string is processed as the Standard execution mode. Valid values:
|
Standard |
| Environment |
object |
No |
The environment context that the flow can access during its execution. |
|
| Variables |
array<object> |
No |
The list of environment variables that the flow can access during its execution. |
|
|
object |
No |
The list of variables that the flow can access during its execution. |
||
| Name |
string |
No |
The name of the variable. |
key |
| Value |
string |
No |
The value of the variable. |
value |
| Description |
string |
No |
The description of the variable. |
description |
Response elements
|
Element |
Type |
Description |
Example |
|
object |
The returned data. |
||
| Type |
string |
The type of the flow. Valid values:
|
FDL |
| Definition |
string |
The definition of the flow. For forward compatibility, the system supports two versions of the flow definition specification. |
旧版: "type: flow\nversion: v1\nname: my_flow_name\nsteps:\n - type: pass\n name: mypass" 新版: "Type: StateMachine\nSpecVersion: v1\nName: my_flow_name\nStartAt: my_state\nStates:\n - Type: Pass\n Name: my_state\n End: true" |
| RoleArn |
string |
The ARN of the RAM role that Serverless Workflow assumes to access resources when the flow is executed. |
acs:ram:${region}:${accountID}:${role} |
| RequestId |
string |
The ID of the request. Serverless Workflow returns a request ID for each request that has an |
testRequestID |
| Description |
string |
The description of the flow. |
my test flow |
| Name |
string |
The name of the flow. |
my_flow_name |
| CreatedTime |
string |
The time when the flow was created. |
2019-01-01T01:01:01.001Z |
| LastModifiedTime |
string |
The time when the flow was last modified. |
2019-01-01T01:01:01.001Z |
| Id |
string |
The unique ID of the flow. |
e589e092-e2c0-4dee-b306-3574ddfdddf5**** |
| ExecutionMode |
string |
The execution mode. Valid values: Express and Standard. For forward compatibility, if this parameter is left empty, the Standard mode is used. |
Standard |
| Environment |
object |
The list of variables that the flow can access during its execution. |
|
| Variables |
array<object> |
The list of variables that the flow can access during its execution. |
|
|
object |
The list of variables that the flow can access during its execution. |
||
| Name |
string |
The name of the variable. |
key |
| Value |
string |
The value of the variable. |
value |
| Description |
string |
The description of the variable. |
description |
Examples
Success response
JSON format
{
"Type": "FDL",
"Definition": "旧版:\n\"type: flow\\nversion: v1\\nname: my_flow_name\\nsteps:\\n - type: pass\\n name: mypass\"\n\n新版:\n\"Type: StateMachine\\nSpecVersion: v1\\nName: my_flow_name\\nStartAt: my_state\\nStates:\\n - Type: Pass\\n Name: my_state\\n End: true\"",
"RoleArn": "acs:ram:${region}:${accountID}:${role}",
"RequestId": "testRequestID",
"Description": "my test flow",
"Name": "my_flow_name",
"CreatedTime": "2019-01-01T01:01:01.001Z",
"LastModifiedTime": "2019-01-01T01:01:01.001Z",
"Id": "e589e092-e2c0-4dee-b306-3574ddfdddf5****",
"ExecutionMode": "Standard",
"Environment": {
"Variables": [
{
"Name": "key",
"Value": "value",
"Description": "description"
}
]
}
}
Error codes
|
HTTP status code |
Error code |
Error message |
Description |
|---|---|---|---|
| 400 | ActionNotSupported | The requested API operation '%s' is incorrect. Please check. | |
| 400 | APIVersionNotSupported | The requested API version '%s' is not supported yet. Please check. | |
| 400 | EntityTooLarge | The payload size exceeds maximum allowed size (%s bytes). | The payload size exceeds maximum allowed size (%s bytes). |
| 400 | InvalidArgument | Parameter error. | Parameter error. |
| 400 | MissingRequiredHeader | The HTTP header '%s' must be specified. | The HTTP header '%s' must be specified. |
| 400 | MissingRequiredParams | The HTTP query '%s' must be specified. | The HTTP query '%s' must be specified. |
| 500 | InternalServerError | An internal error has occurred. Please retry. | An internal error has occurred. Please retry. |
| 403 | AccessDenied | The resources doesn't belong to you. | |
| 403 | InvalidAccessKeyID | The AccessKey ID %s is invalid. | The AccessKey ID %s is invalid. |
| 403 | RequestTimeTooSkewed | The difference between the request time %s and the current time %s is too large. | The difference between the request time %s and the current time %s is too large. |
| 403 | SignatureNotMatch | The request signature we calculated does not match the signature you provided. Check your access key and signing method. | The calculated signature of the request does not match the signature you provided. Check your AccessKey Secret and signing algorithm. |
| 415 | UnsupportedMediaType | The content type must be "application/json". | The content type must be "application/json". |
| 429 | ResourceThrottled | The request is throttled. Please try again later. | The request is throttled. Please try again later. |
| 409 | FlowAlreadyExists | Flow %s already exists. | Flow %s already exists. |
See Error Codes for a complete list.
Release notes
See Release Notes for a complete list.