createPipeline method
- required List<
PipelineActivity> pipelineActivities, - required String pipelineName,
- List<
Tag> ? tags,
Creates a pipeline. A pipeline consumes messages from a channel and allows
you to process the messages before storing them in a data store. You must
specify both a channel
and a datastore
activity
and, optionally, as many as 23 additional activities in the
pipelineActivities
array.
May throw InvalidRequestException. May throw ResourceAlreadyExistsException. May throw InternalFailureException. May throw ServiceUnavailableException. May throw ThrottlingException. May throw LimitExceededException.
Parameter pipelineActivities
:
A list of PipelineActivity
objects. Activities perform
transformations on your messages, such as removing, renaming or adding
message attributes; filtering messages based on attribute values; invoking
your Lambda functions on messages for advanced processing; or performing
mathematical transformations to normalize device data.
The list can be 2-25 PipelineActivity
objects and must
contain both a channel
and a datastore
activity.
Each entry in the list must contain only one activity. For example:
pipelineActivities =
{ "channel": { ... } }, { "lambda": { ... }
}, ...
Parameter pipelineName
:
The name of the pipeline.
Parameter tags
:
Metadata which can be used to manage the pipeline.
Implementation
Future<CreatePipelineResponse> createPipeline({
required List<PipelineActivity> pipelineActivities,
required String pipelineName,
List<Tag>? tags,
}) async {
ArgumentError.checkNotNull(pipelineActivities, 'pipelineActivities');
ArgumentError.checkNotNull(pipelineName, 'pipelineName');
_s.validateStringLength(
'pipelineName',
pipelineName,
1,
128,
isRequired: true,
);
final $payload = <String, dynamic>{
'pipelineActivities': pipelineActivities,
'pipelineName': pipelineName,
if (tags != null) 'tags': tags,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri: '/pipelines',
exceptionFnMap: _exceptionFns,
);
return CreatePipelineResponse.fromJson(response);
}