startPipelineExecution method

Future<StartPipelineExecutionResponse> startPipelineExecution({
  1. required String pipelineName,
  2. String? clientRequestToken,
  3. String? mlflowExperimentName,
  4. ParallelismConfiguration? parallelismConfiguration,
  5. String? pipelineExecutionDescription,
  6. String? pipelineExecutionDisplayName,
  7. List<Parameter>? pipelineParameters,
  8. int? pipelineVersionId,
  9. SelectiveExecutionConfig? selectiveExecutionConfig,
})

Starts a pipeline execution.

May throw ConflictException. May throw ResourceLimitExceeded. May throw ResourceNotFound.

Parameter pipelineName : The name or Amazon Resource Name (ARN) of the pipeline.

Parameter clientRequestToken : A unique, case-sensitive identifier that you provide to ensure the idempotency of the operation. An idempotent operation completes no more than once.

Parameter mlflowExperimentName : The MLflow experiment name of the pipeline execution.

Parameter parallelismConfiguration : This configuration, if specified, overrides the parallelism configuration of the parent pipeline for this specific run.

Parameter pipelineExecutionDescription : The description of the pipeline execution.

Parameter pipelineExecutionDisplayName : The display name of the pipeline execution.

Parameter pipelineParameters : Contains a list of pipeline parameters. This list can be empty.

Parameter pipelineVersionId : The ID of the pipeline version to start execution from.

Parameter selectiveExecutionConfig : The selective execution configuration applied to the pipeline run.

Implementation

Future<StartPipelineExecutionResponse> startPipelineExecution({
  required String pipelineName,
  String? clientRequestToken,
  String? mlflowExperimentName,
  ParallelismConfiguration? parallelismConfiguration,
  String? pipelineExecutionDescription,
  String? pipelineExecutionDisplayName,
  List<Parameter>? pipelineParameters,
  int? pipelineVersionId,
  SelectiveExecutionConfig? selectiveExecutionConfig,
}) async {
  _s.validateNumRange(
    'pipelineVersionId',
    pipelineVersionId,
    1,
    1152921504606846976,
  );
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.1',
    'X-Amz-Target': 'SageMaker.StartPipelineExecution'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'PipelineName': pipelineName,
      'ClientRequestToken':
          clientRequestToken ?? _s.generateIdempotencyToken(),
      if (mlflowExperimentName != null)
        'MlflowExperimentName': mlflowExperimentName,
      if (parallelismConfiguration != null)
        'ParallelismConfiguration': parallelismConfiguration,
      if (pipelineExecutionDescription != null)
        'PipelineExecutionDescription': pipelineExecutionDescription,
      if (pipelineExecutionDisplayName != null)
        'PipelineExecutionDisplayName': pipelineExecutionDisplayName,
      if (pipelineParameters != null)
        'PipelineParameters': pipelineParameters,
      if (pipelineVersionId != null) 'PipelineVersionId': pipelineVersionId,
      if (selectiveExecutionConfig != null)
        'SelectiveExecutionConfig': selectiveExecutionConfig,
    },
  );

  return StartPipelineExecutionResponse.fromJson(jsonResponse.body);
}