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
FAILEDstatus, until you delete that snapshot. Names that begin withSYSTEMSNAPSHOTare 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
DescribeSnapshotOperationto 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: