View a markdown version of this page

CreateSnapshot - Amazon Managed Service for Apache Flink (formerly Amazon Kinesis Data Analytics for Apache Flink)

CreateSnapshot

Creates an enhanced snapshot of the state data of a running Managed Service for Apache Flink application. The application must be in the RUNNING status, use Apache Flink version 1.20 or later, and use the ENHANCED_SNAPSHOTS snapshot mode.

This operation is asynchronous. The response returns the snapshot ARN with the CREATING status. To check the status of the snapshot, use DescribeSnapshot. To track the progress of the operation, use DescribeSnapshotOperation.

An application can have only one CreateSnapshot operation in progress at a time. For information about limits, see Managed Service for Apache Flink Quotas. For more information about snapshots, see Enhanced Snapshots.

Request Syntax

{ "ApplicationName": "string", "SnapshotDescription": "string", "SnapshotName": "string", "Tags": [ { "Key": "string", "Value": "string" } ] }

Request Parameters

The request accepts the following data in JSON format.

ApplicationName

The name of the application.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 128.

Pattern: [a-zA-Z0-9_.-]+

Required: Yes

SnapshotDescription

A summary description of the snapshot.

Type: String

Length Constraints: Minimum length of 0. Maximum length of 1024.

Pattern: [^\u0000-\u001F\u007F]*

Required: No

SnapshotName

The name of the enhanced snapshot. The name must be unique among the snapshots in your account and Region. You can't reuse the name of an existing snapshot, including a snapshot in the FAILED status, until you delete that snapshot. Names that begin with SYSTEMSNAPSHOT are reserved.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 100.

Pattern: [a-zA-Z0-9_.-]+

Required: Yes

Tags

A list of one or more tags to assign to the snapshot. A tag is a key-value pair that identifies a snapshot. For more information, see Using Tagging.

Type: Array of Tag objects

Array Members: Minimum number of 1 item. Maximum number of 200 items.

Required: No

Response Syntax

{ "SnapshotArn": "string", "SnapshotOperationId": "string", "SnapshotOperationStatus": "string", "SnapshotStatus": "string" }

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.

SnapshotArn

The ARN of the enhanced snapshot.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 2048.

SnapshotOperationId

The ID of the snapshot operation. You can use this value with DescribeSnapshotOperation to track the progress of the operation.

Type: String

Length Constraints: Minimum length of 1. Maximum length of 64.

SnapshotOperationStatus

The status of the snapshot operation.

Type: String

Valid Values: IN_PROGRESS | SUCCESSFUL | FAILED | CANCELLED

SnapshotStatus

The status of the snapshot. When Managed Service for Apache Flink accepts the request, the status is CREATING.

Type: String

Valid Values: CREATING | READY | DELETING | FAILED

Errors

ConcurrentModificationException

Exception thrown as a result of concurrent modifications to an application or snapshot. This error can be the result of attempting to modify an application without using the current application ID.

HTTP Status Code: 400

InvalidApplicationConfigurationException

The user-provided application configuration is not valid.

HTTP Status Code: 400

InvalidArgumentException

The specified input parameter value is not valid.

HTTP Status Code: 400

LimitExceededException

The number of allowed resources has been exceeded.

HTTP Status Code: 400

ResourceInUseException

The application or snapshot is not available for this operation.

HTTP Status Code: 400

TooManyTagsException

Application created with too many tags, or too many tags added to an application. Note that the maximum number of application tags includes system tags. The maximum number of user-defined application tags is 50.

HTTP Status Code: 400

UnsupportedOperationException

The request was rejected because a specified parameter is not supported or a specified resource is not valid for this operation.

HTTP Status Code: 400

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: