Amazon DynamoDB
API Reference


Returns information about a stream, including the current status of the stream, its Amazon Resource Name (ARN), the composition of its shards, and its corresponding DynamoDB table.


You can call DescribeStream at a maximum rate of 10 times per second.

Each shard in the stream has a SequenceNumberRange associated with it. If the SequenceNumberRange has a StartingSequenceNumber but no EndingSequenceNumber, then the shard is still open (able to receive more stream records). If both StartingSequenceNumber and EndingSequenceNumber are present, then that shard is closed and can no longer receive more data.

Request Syntax

{ "ExclusiveStartShardId": "string", "Limit": number, "StreamArn": "string" }

Request Parameters

The request accepts the following data in JSON format.


In the following list, the required parameters are described first.


The Amazon Resource Name (ARN) for the stream.

Type: String

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

Required: Yes


The shard ID of the first item that this operation will evaluate. Use the value that was returned for LastEvaluatedShardId in the previous operation.

Type: String

Length Constraints: Minimum length of 28. Maximum length of 65.

Required: No


The maximum number of shard objects to return. The upper limit is 100.

Type: Integer

Valid Range: Minimum value of 1.

Required: No

Response Syntax

{ "StreamDescription": { "CreationRequestDateTime": number, "KeySchema": [ { "AttributeName": "string", "KeyType": "string" } ], "LastEvaluatedShardId": "string", "Shards": [ { "ParentShardId": "string", "SequenceNumberRange": { "EndingSequenceNumber": "string", "StartingSequenceNumber": "string" }, "ShardId": "string" } ], "StreamArn": "string", "StreamLabel": "string", "StreamStatus": "string", "StreamViewType": "string", "TableName": "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.


A complete description of the stream, including its creation date and time, the DynamoDB table associated with the stream, the shard IDs within the stream, and the beginning and ending sequence numbers of stream records within the shards.

Type: StreamDescription object


For information about the errors that are common to all actions, see Common Errors.


An error occurred on the server side.

HTTP Status Code: 500


The operation tried to access a nonexistent stream.

HTTP Status Code: 400


Describe A Stream

The following sample returns a description of a stream with a given stream ARN. All of the shards in the stream are listed in the response, along with the beginning and ending sequence numbers of stream records within the shards. Note that one of the shards is still open, because it does not have an EndingSequenceNumber.

Sample Request

POST / HTTP/1.1 x-amzn-RequestId: <RequestID> x-amzn-crc32: <CRC32> Content-Type: application/x-amz-json-1.0 Content-Length: <PayloadSizeBytes> X-Amz-Date: <Date> X-Amz-Target: DynamoDBStreams_20120810.DescribeStream { "StreamArn": "arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252" }

Sample Response

HTTP/1.1 200 OK x-amzn-RequestId: <RequestId> x-amz-crc32: <Checksum> Content-Type: application/x-amz-json-1.0 Content-Length: <PayloadSizeBytes> Date: <Date> { "StreamDescription": { "StreamArn": "arn:aws:dynamodb:us-west-2:111122223333:table/Forum/stream/2015-05-20T20:51:10.252", "StreamLabel": "2015-05-20T20:51:10.252", "StreamStatus": "ENABLED", "StreamViewType": "NEW_AND_OLD_IMAGES", "CreationRequestDateTime": "Wed May 20 13:51:10 PDT 2015", "TableName": "Forum", "KeySchema": [ {"AttributeName": "ForumName","KeyType": "HASH"}, {"AttributeName": "Subject","KeyType": "RANGE"} ], "Shards": [ { "SequenceNumberRange": { "EndingSequenceNumber": "20500000000000000910398", "StartingSequenceNumber": "20500000000000000910398" }, "ShardId": "shardId-00000001414562045508-2bac9cd2" }, { "ParentShardId": "shardId-00000001414562045508-2bac9cd2", "SequenceNumberRange": { "EndingSequenceNumber": "820400000000000001192334", "StartingSequenceNumber": "820400000000000001192334" }, "ShardId": "shardId-00000001414576573621-f55eea83" }, { "ParentShardId": "shardId-00000001414576573621-f55eea83", "SequenceNumberRange": { "EndingSequenceNumber": "1683700000000000001135967", "StartingSequenceNumber": "1683700000000000001135967" }, "ShardId": "shardId-00000001414592258131-674fd923" }, { "ParentShardId": "shardId-00000001414592258131-674fd923", "SequenceNumberRange": {"StartingSequenceNumber": "2574600000000000000935255"}, "ShardId": "shardId-00000001414608446368-3a1afbaf" } ], } }

See Also

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