ListChangedBlocks
Returns information about the blocks that are different between two Amazon Elastic Block Store snapshots of the same volume/snapshot lineage.
Note
You should always retry requests that receive server (5xx
)
error responses, and ThrottlingException
and RequestThrottledException
client error responses. For more information see Error retries in the
Amazon Elastic Compute Cloud User Guide.
Request Syntax
GET /snapshots/secondSnapshotId
/changedblocks?firstSnapshotId=FirstSnapshotId
&maxResults=MaxResults
&pageToken=NextToken
&startingBlockIndex=StartingBlockIndex
HTTP/1.1
URI Request Parameters
The request uses the following URI parameters.
- FirstSnapshotId
-
The ID of the first snapshot to use for the comparison.
Important
The
FirstSnapshotID
parameter must be specified with aSecondSnapshotId
parameter; otherwise, an error occurs.Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
^snap-[0-9a-f]+$
- MaxResults
-
The maximum number of blocks to be returned by the request.
Even if additional blocks can be retrieved from the snapshot, the request can return less blocks than MaxResults or an empty array of blocks.
To retrieve the next set of blocks from the snapshot, make another request with the returned NextToken value. The value of NextToken is
null
when there are no more blocks to return.Valid Range: Minimum value of 100. Maximum value of 10000.
- NextToken
-
The token to request the next page of results.
If you specify NextToken, then StartingBlockIndex is ignored.
Length Constraints: Maximum length of 256.
Pattern:
^[A-Za-z0-9+/=]+$
- secondSnapshotId
-
The ID of the second snapshot to use for the comparison.
Important
The
SecondSnapshotId
parameter must be specified with aFirstSnapshotID
parameter; otherwise, an error occurs.Length Constraints: Minimum length of 1. Maximum length of 64.
Pattern:
^snap-[0-9a-f]+$
Required: Yes
- StartingBlockIndex
-
The block index from which the comparison should start.
The list in the response will start from this block index or the next valid block index in the snapshots.
If you specify NextToken, then StartingBlockIndex is ignored.
Valid Range: Minimum value of 0.
Request Body
The request does not have a request body.
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"BlockSize": number,
"ChangedBlocks": [
{
"BlockIndex": number,
"FirstBlockToken": "string",
"SecondBlockToken": "string"
}
],
"ExpiryTime": number,
"NextToken": "string",
"VolumeSize": number
}
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.
- BlockSize
-
The size of the blocks in the snapshot, in bytes.
Type: Integer
- ChangedBlocks
-
An array of objects containing information about the changed blocks.
Type: Array of ChangedBlock objects
- ExpiryTime
-
The time when the
BlockToken
expires.Type: Timestamp
- NextToken
-
The token to use to retrieve the next page of results. This value is null when there are no more results to return.
Type: String
Length Constraints: Maximum length of 256.
Pattern:
^[A-Za-z0-9+/=]+$
- VolumeSize
-
The size of the volume in GB.
Type: Long
Valid Range: Minimum value of 1.
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
You do not have sufficient access to perform this action.
HTTP Status Code: 403
- InternalServerException
-
An internal error has occurred. For more information see Error retries.
HTTP Status Code: 500
- RequestThrottledException
-
The number of API requests has exceeded the maximum allowed API request throttling limit for the snapshot. For more information see Error retries.
HTTP Status Code: 400
- ResourceNotFoundException
-
The specified resource does not exist.
HTTP Status Code: 404
- ServiceQuotaExceededException
-
Your current service quotas do not allow you to perform this action.
HTTP Status Code: 402
- ValidationException
-
The input fails to satisfy the constraints of the EBS direct APIs.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: