SFN / Client / create_activity

create_activity#

SFN.Client.create_activity(**kwargs)#

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.

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.

See also: AWS API Documentation

Request Syntax

response = client.create_activity(
    name='string',
    tags=[
        {
            'key': 'string',
            'value': 'string'
        },
    ],
    encryptionConfiguration={
        'kmsKeyId': 'string',
        'kmsDataKeyReusePeriodSeconds': 123,
        'type': 'AWS_OWNED_KEY'|'CUSTOMER_MANAGED_KMS_KEY'
    }
)
Parameters:
  • name (string) –

    [REQUIRED]

    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)

    To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

  • tags (list) –

    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: _ . : / = + - @.

    • (dict) –

      Tags are key-value pairs that can be associated with Step Functions state machines and activities.

      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: _ . : / = + - @.

      • key (string) –

        The key of a tag.

      • value (string) –

        The value of a tag.

  • encryptionConfiguration (dict) –

    Settings to configure server-side encryption.

    • kmsKeyId (string) –

      An alias, alias ARN, key ID, or key ARN of a symmetric encryption KMS key to encrypt data. To specify a KMS key in a different Amazon Web Services account, you must use the key ARN or alias ARN.

    • kmsDataKeyReusePeriodSeconds (integer) –

      Maximum duration that Step Functions will reuse data keys. When the period expires, Step Functions will call GenerateDataKey. Only applies to customer managed keys.

    • type (string) – [REQUIRED]

      Encryption type

Return type:

dict

Returns:

Response Syntax

{
    'activityArn': 'string',
    'creationDate': datetime(2015, 1, 1)
}

Response Structure

  • (dict) –

    • activityArn (string) –

      The Amazon Resource Name (ARN) that identifies the created activity.

    • creationDate (datetime) –

      The date the activity is created.

Exceptions

  • SFN.Client.exceptions.ActivityLimitExceeded

  • SFN.Client.exceptions.ActivityAlreadyExists

  • SFN.Client.exceptions.InvalidName

  • SFN.Client.exceptions.TooManyTags

  • SFN.Client.exceptions.InvalidEncryptionConfiguration

  • SFN.Client.exceptions.KmsAccessDeniedException

  • SFN.Client.exceptions.KmsThrottlingException