DeleteStream
Deletes a Kinesis data stream and all its shards and data. You must shut down any
applications that are operating on the stream before you delete the stream. If an
application attempts to operate on a deleted stream, it receives the exception
ResourceNotFoundException
.
Note
When invoking this API, you must use either the StreamARN
or the
StreamName
parameter, or both. It is recommended that you use the
StreamARN
input parameter when you invoke this API.
If the stream is in the ACTIVE
state, you can delete it. After a
DeleteStream
request, the specified stream is in the
DELETING
state until Kinesis Data Streams completes the
deletion.
Note: Kinesis Data Streams might continue to accept
data read and write operations, such as PutRecord, PutRecords, and GetRecords, on a stream in the
DELETING
state until the stream deletion is complete.
When you delete a stream, any shards in that stream are also deleted, and any tags are dissociated from the stream.
You can use the DescribeStreamSummary operation to check the state
of the stream, which is returned in StreamStatus
.
DeleteStream has a limit of five transactions per second per account.
Request Syntax
{
"EnforceConsumerDeletion": boolean
,
"StreamARN": "string
",
"StreamName": "string
"
}
Request Parameters
The request accepts the following data in JSON format.
- EnforceConsumerDeletion
-
If this parameter is unset (
null
) or if you set it tofalse
, and the stream has registered consumers, the call toDeleteStream
fails with aResourceInUseException
.Type: Boolean
Required: No
- StreamARN
-
The ARN of the stream.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 2048.
Pattern:
arn:aws.*:kinesis:.*:\d{12}:stream/\S+
Required: No
- StreamName
-
The name of the stream to delete.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 128.
Pattern:
[a-zA-Z0-9_.-]+
Required: No
Response Elements
If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
Specifies that you do not have the permissions required to perform this operation.
HTTP Status Code: 400
- InvalidArgumentException
-
A specified parameter exceeds its restrictions, is not supported, or can't be used. For more information, see the returned message.
HTTP Status Code: 400
- LimitExceededException
-
The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed.
HTTP Status Code: 400
- ResourceInUseException
-
The resource is not available for this operation. For successful operation, the resource must be in the
ACTIVE
state.HTTP Status Code: 400
- ResourceNotFoundException
-
The requested resource could not be found. The stream might not be specified correctly.
HTTP Status Code: 400
Examples
To delete a stream
The following JSON example deletes the specified stream.
Sample Request
POST / HTTP/1.1
Host: kinesis.<region>.<domain>
Content-Length: <PayloadSizeBytes>
User-Agent: <UserAgentString>
Content-Type: application/x-amz-json-1.1
Authorization: <AuthParams>
Connection: Keep-Alive
X-Amz-Date: <Date>
X-Amz-Target: Kinesis_20131202.DeleteStream
{
"StreamName":"exampleStreamName"
}
Sample Response
HTTP/1.1 200 OK
x-amzn-RequestId: <RequestId>
Content-Type: application/x-amz-json-1.1
Content-Length: <PayloadSizeBytes>
Date: <Date>
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: