startPipelineExecution method

Future<StartPipelineExecutionResponse> startPipelineExecution({
  1. required String pipelineName,
  2. required String workspaceName,
  3. String? clientToken,
  4. ExecutionEnvironmentVariables? executionEnvironmentVariableOverrides,
  5. int? executionPriority,
})

Starts execution of a pipeline in the specified workspace. Each compute node runs according to the DAG dependency order defined in the pipeline. Nodes without dependencies start immediately, while dependent nodes wait for all upstream nodes to complete successfully.

You can provide runtime environment variable overrides that take the highest priority in the environment variable hierarchy, without modifying the pipeline definition.

May throw AccessDeniedException. May throw ConflictingOperationException. May throw InternalFailureException. May throw InvalidRequestException. May throw LimitExceededException. May throw ResourceNotFoundException. May throw ThrottlingException.

Parameter pipelineName : The name of the pipeline to execute.

Parameter workspaceName : The name of the workspace containing the pipeline.

Parameter clientToken : A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you retry a request that completed successfully using the same client token, the server returns the cached result from the original successful request without performing the operation again.

Parameter executionEnvironmentVariableOverrides : Runtime environment variable overrides for the execution. Includes global variables that apply to all compute nodes and computeNodes for per-node overrides. These take the highest priority in the environment variable hierarchy.

Parameter executionPriority : Scheduling priority for the execution. Lower values indicate higher priority. Defaults to 2 when not specified.

Implementation

Future<StartPipelineExecutionResponse> startPipelineExecution({
  required String pipelineName,
  required String workspaceName,
  String? clientToken,
  ExecutionEnvironmentVariables? executionEnvironmentVariableOverrides,
  int? executionPriority,
}) async {
  _s.validateNumRange(
    'executionPriority',
    executionPriority,
    0,
    2,
  );
  final $payload = <String, dynamic>{
    'clientToken': clientToken ?? _s.generateIdempotencyToken(),
    if (executionEnvironmentVariableOverrides != null)
      'executionEnvironmentVariableOverrides':
          executionEnvironmentVariableOverrides,
    if (executionPriority != null) 'executionPriority': executionPriority,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri:
        '/workspaces/${Uri.encodeComponent(workspaceName)}/pipelines/${Uri.encodeComponent(pipelineName)}/executions',
    hostPrefix: 'data.',
    exceptionFnMap: _exceptionFns,
  );
  return StartPipelineExecutionResponse.fromJson(response);
}