AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.
MergeShards
is called when there is a need to reduce the overall capacity
of a stream because of excess capacity that is not being used. You must specify the
shard to be merged and the adjacent shard for a stream. For more information about
merging shards, see Merge
Two Shards in the Amazon Kinesis Developer Guide.
If the stream is in the ACTIVE
state, you can call MergeShards
.
If a stream is in the CREATING
, UPDATING
, or DELETING
state, MergeShards
returns a ResourceInUseException
. If
the specified stream does not exist, MergeShards
returns a ResourceNotFoundException
.
You can use DescribeStream to check the state of the stream, which is returned
in StreamStatus
.
MergeShards
is an asynchronous operation. Upon receiving a MergeShards
request, Amazon Kinesis immediately returns a response and sets the StreamStatus
to UPDATING
. After the operation is completed, Amazon Kinesis sets the
StreamStatus
to ACTIVE
. Read and write operations continue
to work while the stream is in the UPDATING
state.
You use DescribeStream to determine the shard IDs that are specified in the
MergeShards
request.
If you try to operate on too many streams in parallel using CreateStream, DeleteStream,
MergeShards
or SplitShard, you will receive a LimitExceededException
.
MergeShards
has limit of 5 transactions per second per account.
Namespace: Amazon.Kinesis
Assembly: AWSSDK.dll
Version: (assembly version)
public abstract MergeShardsResponse MergeShards( MergeShardsRequest request )
Container for the necessary parameters to execute the MergeShards service method.
Exception | Condition |
---|---|
InvalidArgumentException | A specified parameter exceeds its restrictions, is not supported, or can't be used. For more information, see the returned message. |
LimitExceededException | The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed (5). |
ResourceInUseException | The resource is not available for this operation. For successful operation, the resource needs to be in the ACTIVE state. |
ResourceNotFoundException | The requested resource could not be found. The stream might not be specified correctly, or it might not be in the ACTIVE state if the operation requires it. |
.NET Framework:
Supported in: 4.5, 4.0, 3.5