EBS / Client / put_snapshot_block
put_snapshot_block#
- EBS.Client.put_snapshot_block(**kwargs)#
Writes a block of data to a snapshot. If the specified block contains data, the existing data is overwritten. The target snapshot must be in the
pending
state.Data written to a snapshot must be aligned with 512-KiB sectors.
Note
You should always retry requests that receive server (
5xx
) error responses, andThrottlingException
andRequestThrottledException
client error responses. For more information see Error retries in the Amazon Elastic Compute Cloud User Guide.See also: AWS API Documentation
Request Syntax
response = client.put_snapshot_block( SnapshotId='string', BlockIndex=123, BlockData=b'bytes'|file, DataLength=123, Progress=123, Checksum='string', ChecksumAlgorithm='SHA256' )
- Parameters:
SnapshotId (string) –
[REQUIRED]
The ID of the snapshot.
Warning
If the specified snapshot is encrypted, you must have permission to use the KMS key that was used to encrypt the snapshot. For more information, see Using encryption in the Amazon Elastic Compute Cloud User Guide..
BlockIndex (integer) –
[REQUIRED]
The block index of the block in which to write the data. A block index is a logical index in units of
512
KiB blocks. To identify the block index, divide the logical offset of the data in the logical volume by the block size (logical offset of data/524288
). The logical offset of the data must be512
KiB aligned.BlockData (bytes or seekable file-like object) –
[REQUIRED]
The data to write to the block.
The block data is not signed as part of the Signature Version 4 signing process. As a result, you must generate and provide a Base64-encoded SHA256 checksum for the block data using the x-amz-Checksum header. Also, you must specify the checksum algorithm using the x-amz-Checksum-Algorithm header. The checksum that you provide is part of the Signature Version 4 signing process. It is validated against a checksum generated by Amazon EBS to ensure the validity and authenticity of the data. If the checksums do not correspond, the request fails. For more information, see Using checksums with the EBS direct APIs in the Amazon Elastic Compute Cloud User Guide.
DataLength (integer) –
[REQUIRED]
The size of the data to write to the block, in bytes. Currently, the only supported size is
524288
bytes.Valid values:
524288
Progress (integer) – The progress of the write process, as a percentage.
Checksum (string) –
[REQUIRED]
A Base64-encoded SHA256 checksum of the data. Only SHA256 checksums are supported.
ChecksumAlgorithm (string) –
[REQUIRED]
The algorithm used to generate the checksum. Currently, the only supported algorithm is
SHA256
.
- Return type:
dict
- Returns:
Response Syntax
{ 'Checksum': 'string', 'ChecksumAlgorithm': 'SHA256' }
Response Structure
(dict) –
Checksum (string) –
The SHA256 checksum generated for the block data by Amazon EBS.
ChecksumAlgorithm (string) –
The algorithm used by Amazon EBS to generate the checksum.
Exceptions
EBS.Client.exceptions.AccessDeniedException
EBS.Client.exceptions.ValidationException
EBS.Client.exceptions.ResourceNotFoundException
EBS.Client.exceptions.RequestThrottledException
EBS.Client.exceptions.ServiceQuotaExceededException
EBS.Client.exceptions.InternalServerException