CreateActivity
Creates an activity. An activity is a task that you write in any programming language and
host on any machine that has access to AWS 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.
Note
This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.
Note
CreateActivity
is an idempotent API. Subsequent requests won’t create a
duplicate resource if it was already created. CreateActivity
's idempotency
check is based on the activity name
. If a following request has different
tags
values, Step Functions will ignore these differences and treat it as an
idempotent request of the previous. In this case, tags
will not be updated,
even if they are different.
Request Syntax
{
"encryptionConfiguration": {
"kmsDataKeyReusePeriodSeconds": number
,
"kmsKeyId": "string
",
"type": "string
"
},
"name": "string
",
"tags": [
{
"key": "string
",
"value": "string
"
}
]
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
- encryptionConfiguration
-
Settings to configure server-side encryption.
Type: EncryptionConfiguration object
Required: No
- name
-
The name of the activity to create. This name must be unique for your AWS account and region for 90 days. For more information, see Limits Related to State Machine Executions in the AWS Step Functions Developer Guide.
A name must not contain:
-
white space
-
brackets
< > { } [ ]
-
wildcard characters
? *
-
special characters
" # % \ ^ | ~ ` $ & , ; : /
-
control characters (
U+0000-001F
,U+007F-009F
)
To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 80.
Required: Yes
-
-
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 AWS Billing and Cost Management User Guide, and Controlling Access Using IAM Tags.
Tags may only contain Unicode letters, digits, white space, or these symbols:
_ . : / = + - @
.Type: Array of Tag objects
Required: No
Response Syntax
{
"activityArn": "string",
"creationDate": number
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- activityArn
-
The Amazon Resource Name (ARN) that identifies the created activity.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 256.
- creationDate
-
The date the activity is created.
Type: Timestamp
Errors
For information about the errors that are common to all actions, see Common Errors.
- ActivityAlreadyExists
-
Activity already exists.
EncryptionConfiguration
may not be updated.HTTP Status Code: 400
- ActivityLimitExceeded
-
The maximum number of activities has been reached. Existing activities must be deleted before a new activity can be created.
HTTP Status Code: 400
- InvalidEncryptionConfiguration
-
Received when
encryptionConfiguration
is specified but various conditions exist which make the configuration invalid. For example, iftype
is set toCUSTOMER_MANAGED_KMS_KEY
, butkmsKeyId
is null, orkmsDataKeyReusePeriodSeconds
is not between 60 and 900, or the AWS KMS key is not symmetric or inactive.HTTP Status Code: 400
- InvalidName
-
The provided name is not valid.
HTTP Status Code: 400
- KmsAccessDeniedException
-
Either your AWS KMS key policy or API caller does not have the required permissions.
HTTP Status Code: 400
- KmsThrottlingException
-
Received when AWS KMS returns
ThrottlingException
for a AWS KMS call that Step Functions makes on behalf of the caller.HTTP Status Code: 400
- TooManyTags
-
You've exceeded the number of tags allowed for a resource. See the Limits Topic in the AWS Step Functions Developer Guide.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: