createActivity method
Creates an activity. An activity is a task that you write in any
programming language and host on any machine that has access to Step
Functions. Activities must poll Step Functions using the
GetActivityTask API action and respond using
SendTask* API actions. This function lets Step Functions know
the existence of your activity and returns an identifier for use in a
state machine and when polling from the activity.
May throw ActivityAlreadyExists.
May throw ActivityLimitExceeded.
May throw InvalidEncryptionConfiguration.
May throw InvalidName.
May throw KmsAccessDeniedException.
May throw KmsThrottlingException.
May throw TooManyTags.
Parameter name :
The name of the activity to create. This name must be unique for your
Amazon Web Services account and region for 90 days. For more information,
see
Limits Related to State Machine Executions in the Step Functions
Developer Guide.
A name must not contain:
- white space
-
brackets
< > { } \[ \] -
wildcard characters
? * -
special characters
" # % \ ^ | ~ ` $ & , ; : / -
control characters (
U+0000-001F,U+007F-009F,U+FFFE-FFFF) -
surrogates (
U+D800-DFFF) -
invalid characters (
U+10FFFF)
Parameter encryptionConfiguration :
Settings to configure server-side encryption.
Parameter tags :
The list of tags to add to a resource.
An array of key-value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide, and Controlling Access Using IAM Tags.
Tags may only contain Unicode letters, digits, white space, or these
symbols: _ . : / = + - @.
Implementation
Future<CreateActivityOutput> createActivity({
required String name,
EncryptionConfiguration? encryptionConfiguration,
List<Tag>? tags,
}) async {
final headers = <String, String>{
'Content-Type': 'application/x-amz-json-1.0',
'X-Amz-Target': 'AWSStepFunctions.CreateActivity'
};
final jsonResponse = await _protocol.send(
method: 'POST',
requestUri: '/',
exceptionFnMap: _exceptionFns,
// TODO queryParams
headers: headers,
payload: {
'name': name,
if (encryptionConfiguration != null)
'encryptionConfiguration': encryptionConfiguration,
if (tags != null) 'tags': tags,
},
);
return CreateActivityOutput.fromJson(jsonResponse.body);
}