Amazon Simple Storage Service

2025/06/18 - Amazon Simple Storage Service - 1 new5 updated api methods

Changes  Added support for renaming objects within the same bucket using the new RenameObject API.

RenameObject (new) Link ¶

Renames an existing object in a directory bucket that uses the S3 Express One Zone storage class. You can use RenameObject by specifying an existing object’s name as the source and the new name of the object as the destination within the same directory bucket.

To prevent overwriting an object, you can use the If-None-Match conditional header.

  • If-None-Match - Renames the object only if an object with the specified name does not already exist in the directory bucket. If you don't want to overwrite an existing object, you can add the If-None-Match conditional header with the value ‘*’ in the RenameObject request. Amazon S3 then returns a 412 Precondition Failed error if the object with the specified name already exists. For more information, see RFC 7232.

    Permissions

To grant access to the RenameObject operation on a directory bucket, we recommend that you use the CreateSession operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the directory bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. The Amazon Web Services CLI and SDKs will create and manage your session including refreshing the session token automatically to avoid service interruptions when a session expires. In your bucket policy, you can specify the s3express:SessionMode condition key to control who can create a ReadWrite or ReadOnly session. A ReadWrite session is required for executing all the Zonal endpoint API operations, including RenameObject. For more information about authorization, see CreateSession. To learn more about Zonal endpoint APT operations, see Authorizing Zonal endpoint API operations with CreateSession in the Amazon S3 User Guide.

HTTP Host header syntax

Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

See also: AWS API Documentation

Request Syntax

client.rename_object(
    Bucket='string',
    Key='string',
    RenameSource='string',
    DestinationIfMatch='string',
    DestinationIfNoneMatch='string',
    DestinationIfModifiedSince=datetime(2015, 1, 1),
    DestinationIfUnmodifiedSince=datetime(2015, 1, 1),
    SourceIfMatch='string',
    SourceIfNoneMatch='string',
    SourceIfModifiedSince=datetime(2015, 1, 1),
    SourceIfUnmodifiedSince=datetime(2015, 1, 1),
    ClientToken='string'
)
type Bucket:

string

param Bucket:

[REQUIRED]

The bucket name of the directory bucket containing the object.

You must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Availability Zone. Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, amzn-s3-demo-bucket--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

type Key:

string

param Key:

[REQUIRED]

Key name of the object to rename.

type RenameSource:

string

param RenameSource:

[REQUIRED]

Specifies the source for the rename operation. The value must be URL encoded.

type DestinationIfMatch:

string

param DestinationIfMatch:

Renames the object only if the ETag (entity tag) value provided during the operation matches the ETag of the object in S3. The If-Match header field makes the request method conditional on ETags. If the ETag values do not match, the operation returns a 412 Precondition Failed error.

Expects the ETag value as a string.

type DestinationIfNoneMatch:

string

param DestinationIfNoneMatch:

Renames the object only if the destination does not already exist in the specified directory bucket. If the object does exist when you send a request with If-None-Match:*, the S3 API will return a 412 Precondition Failed error, preventing an overwrite. The If-None-Match header prevents overwrites of existing data by validating that there's not an object with the same key name already in your directory bucket.

Expects the * character (asterisk).

type DestinationIfModifiedSince:

datetime

param DestinationIfModifiedSince:

Renames the object if the destination exists and if it has been modified since the specified time.

type DestinationIfUnmodifiedSince:

datetime

param DestinationIfUnmodifiedSince:

Renames the object if it hasn't been modified since the specified time.

type SourceIfMatch:

string

param SourceIfMatch:

Renames the object if the source exists and if its entity tag (ETag) matches the specified ETag.

type SourceIfNoneMatch:

string

param SourceIfNoneMatch:

Renames the object if the source exists and if its entity tag (ETag) is different than the specified ETag. If an asterisk ( *) character is provided, the operation will fail and return a 412 Precondition Failed error.

type SourceIfModifiedSince:

datetime

param SourceIfModifiedSince:

Renames the object if the source exists and if it has been modified since the specified time.

type SourceIfUnmodifiedSince:

datetime

param SourceIfUnmodifiedSince:

Renames the object if the source exists and hasn't been modified since the specified time.

type ClientToken:

string

param ClientToken:

A unique string with a max of 64 ASCII characters in the ASCII range of 33 - 126. RenameObject supports idempotency using a client token. To make an idempotent API request using RenameObject, specify a client token in the request. You should not reuse the same client token for other API requests. If you retry a request that completed successfully using the same client token and the same parameters, the retry succeeds without performing any further actions. If you retry a successful request using the same client token, but one or more of the parameters are different, the retry fails and an IdempotentParameterMismatch error is returned.

This field is autopopulated if not provided.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

DeleteBucketIntelligentTieringConfiguration (updated) Link ¶
Changes (request)
{'ExpectedBucketOwner': 'string'}

Deletes the S3 Intelligent-Tiering configuration from the specified bucket.

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

Operations related to DeleteBucketIntelligentTieringConfiguration include:

See also: AWS API Documentation

Request Syntax

client.delete_bucket_intelligent_tiering_configuration(
    Bucket='string',
    Id='string',
    ExpectedBucketOwner='string'
)
type Bucket:

string

param Bucket:

[REQUIRED]

The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.

type Id:

string

param Id:

[REQUIRED]

The ID used to identify the S3 Intelligent-Tiering configuration.

type ExpectedBucketOwner:

string

param ExpectedBucketOwner:

The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

returns:

None

GetBucketIntelligentTieringConfiguration (updated) Link ¶
Changes (request)
{'ExpectedBucketOwner': 'string'}

Gets the S3 Intelligent-Tiering configuration from the specified bucket.

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

Operations related to GetBucketIntelligentTieringConfiguration include:

See also: AWS API Documentation

Request Syntax

client.get_bucket_intelligent_tiering_configuration(
    Bucket='string',
    Id='string',
    ExpectedBucketOwner='string'
)
type Bucket:

string

param Bucket:

[REQUIRED]

The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.

type Id:

string

param Id:

[REQUIRED]

The ID used to identify the S3 Intelligent-Tiering configuration.

type ExpectedBucketOwner:

string

param ExpectedBucketOwner:

The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

rtype:

dict

returns:

Response Syntax

{
    'IntelligentTieringConfiguration': {
        'Id': 'string',
        'Filter': {
            'Prefix': 'string',
            'Tag': {
                'Key': 'string',
                'Value': 'string'
            },
            'And': {
                'Prefix': 'string',
                'Tags': [
                    {
                        'Key': 'string',
                        'Value': 'string'
                    },
                ]
            }
        },
        'Status': 'Enabled'|'Disabled',
        'Tierings': [
            {
                'Days': 123,
                'AccessTier': 'ARCHIVE_ACCESS'|'DEEP_ARCHIVE_ACCESS'
            },
        ]
    }
}

Response Structure

  • (dict) --

    • IntelligentTieringConfiguration (dict) --

      Container for S3 Intelligent-Tiering configuration.

      • Id (string) --

        The ID used to identify the S3 Intelligent-Tiering configuration.

      • Filter (dict) --

        Specifies a bucket filter. The configuration only includes objects that meet the filter's criteria.

        • Prefix (string) --

          An object key name prefix that identifies the subset of objects to which the rule applies.

        • Tag (dict) --

          A container of a key value name pair.

          • Key (string) --

            Name of the object key.

          • Value (string) --

            Value of the tag.

        • And (dict) --

          A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates, and an object must match all of the predicates in order for the filter to apply.

          • Prefix (string) --

            An object key name prefix that identifies the subset of objects to which the configuration applies.

          • Tags (list) --

            All of these tags must exist in the object's tag set in order for the configuration to apply.

            • (dict) --

              A container of a key value name pair.

              • Key (string) --

                Name of the object key.

              • Value (string) --

                Value of the tag.

      • Status (string) --

        Specifies the status of the configuration.

      • Tierings (list) --

        Specifies the S3 Intelligent-Tiering storage class tier of the configuration.

        • (dict) --

          The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead.

          • Days (integer) --

            The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).

          • AccessTier (string) --

            S3 Intelligent-Tiering access tier. See Storage class for automatically optimizing frequently and infrequently accessed objects for a list of access tiers in the S3 Intelligent-Tiering storage class.

HeadObject (updated) Link ¶
Changes (response)
{'TagCount': 'integer'}

The HEAD operation retrieves metadata from an object without returning the object itself. This operation is useful if you're interested only in an object's metadata.

Request headers are limited to 8 KB in size. For more information, see Common Request Headers.

Permissions

  • General purpose bucket permissions - To use HEAD, you must have the s3:GetObject permission. You need the relevant read object (or version) permission for this operation. For more information, see Actions, resources, and condition keys for Amazon S3 in the Amazon S3 User Guide. For more information about the permissions to S3 API operations by S3 resource types, see Required permissions for Amazon S3 API operations in the Amazon S3 User Guide. If the object you request doesn't exist, the error that Amazon S3 returns depends on whether you also have the s3:ListBucket permission.

    • If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code 404 Not Found error.

    • If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP status code 403 Forbidden error.

  • Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the CreateSession API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. Amazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see CreateSession. If you enable x-amz-checksum-mode in the request and the object is encrypted with Amazon Web Services Key Management Service (Amazon Web Services KMS), you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key to retrieve the checksum of the object.

    Encryption

If you encrypt an object by using server-side encryption with customer-provided encryption keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the object, you must use the following headers to provide the encryption key for the server to be able to retrieve the object's metadata. The headers are:

  • x-amz-server-side-encryption-customer-algorithm

  • x-amz-server-side-encryption-customer-key

  • x-amz-server-side-encryption-customer-key-MD5

For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided Encryption Keys) in the Amazon S3 User Guide.

  • If the current version of the object is a delete marker, Amazon S3 behaves as if the object was deleted and includes x-amz-delete-marker: true in the response.

  • If the specified version is a delete marker, the response returns a 405 Method Not Allowed error and the Last-Modified: timestamp response header.

Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com.

The following actions are related to HeadObject:

See also: AWS API Documentation

Request Syntax

client.head_object(
    Bucket='string',
    IfMatch='string',
    IfModifiedSince=datetime(2015, 1, 1),
    IfNoneMatch='string',
    IfUnmodifiedSince=datetime(2015, 1, 1),
    Key='string',
    Range='string',
    ResponseCacheControl='string',
    ResponseContentDisposition='string',
    ResponseContentEncoding='string',
    ResponseContentLanguage='string',
    ResponseContentType='string',
    ResponseExpires=datetime(2015, 1, 1),
    VersionId='string',
    SSECustomerAlgorithm='string',
    SSECustomerKey='string',
    SSECustomerKeyMD5='string',
    RequestPayer='requester',
    PartNumber=123,
    ExpectedBucketOwner='string',
    ChecksumMode='ENABLED'
)
type Bucket:

string

param Bucket:

[REQUIRED]

The name of the bucket that contains the object.

Directory buckets - When you use this operation with a directory bucket, you must use virtual-hosted-style requests in the format Bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. Directory bucket names must be unique in the chosen Zone (Availability Zone or Local Zone). Bucket names must follow the format bucket-base-name--zone-id--x-s3 (for example, amzn-s3-demo-bucket--usw2-az1--x-s3). For information about bucket naming restrictions, see Directory bucket naming rules in the Amazon S3 User Guide.

Access points - When you use this action with an access point for general purpose buckets, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. When you use this action with an access point for directory buckets, you must provide the access point name in place of the bucket name. When using the access point ARN, you must direct requests to the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.*Region*.amazonaws.com. When using this action with an access point through the Amazon Web Services SDKs, you provide the access point ARN in place of the bucket name. For more information about access point ARNs, see Using access points in the Amazon S3 User Guide.

S3 on Outposts - When you use this action with S3 on Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you use this action with S3 on Outposts, the destination bucket must be the Outposts access point ARN or the access point alias. For more information about S3 on Outposts, see What is S3 on Outposts? in the Amazon S3 User Guide.

type IfMatch:

string

param IfMatch:

Return the object only if its entity tag (ETag) is the same as the one specified; otherwise, return a 412 (precondition failed) error.

If both of the If-Match and If-Unmodified-Since headers are present in the request as follows:

  • If-Match condition evaluates to true, and;

  • If-Unmodified-Since condition evaluates to false;

Then Amazon S3 returns 200 OK and the data requested.

For more information about conditional requests, see RFC 7232.

type IfModifiedSince:

datetime

param IfModifiedSince:

Return the object only if it has been modified since the specified time; otherwise, return a 304 (not modified) error.

If both of the If-None-Match and If-Modified-Since headers are present in the request as follows:

  • If-None-Match condition evaluates to false, and;

  • If-Modified-Since condition evaluates to true;

Then Amazon S3 returns the 304 Not Modified response code.

For more information about conditional requests, see RFC 7232.

type IfNoneMatch:

string

param IfNoneMatch:

Return the object only if its entity tag (ETag) is different from the one specified; otherwise, return a 304 (not modified) error.

If both of the If-None-Match and If-Modified-Since headers are present in the request as follows:

  • If-None-Match condition evaluates to false, and;

  • If-Modified-Since condition evaluates to true;

Then Amazon S3 returns the 304 Not Modified response code.

For more information about conditional requests, see RFC 7232.

type IfUnmodifiedSince:

datetime

param IfUnmodifiedSince:

Return the object only if it has not been modified since the specified time; otherwise, return a 412 (precondition failed) error.

If both of the If-Match and If-Unmodified-Since headers are present in the request as follows:

  • If-Match condition evaluates to true, and;

  • If-Unmodified-Since condition evaluates to false;

Then Amazon S3 returns 200 OK and the data requested.

For more information about conditional requests, see RFC 7232.

type Key:

string

param Key:

[REQUIRED]

The object key.

type Range:

string

param Range:

HeadObject returns only the metadata for an object. If the Range is satisfiable, only the ContentLength is affected in the response. If the Range is not satisfiable, S3 returns a 416 - Requested Range Not Satisfiable error.

type ResponseCacheControl:

string

param ResponseCacheControl:

Sets the Cache-Control header of the response.

type ResponseContentDisposition:

string

param ResponseContentDisposition:

Sets the Content-Disposition header of the response.

type ResponseContentEncoding:

string

param ResponseContentEncoding:

Sets the Content-Encoding header of the response.

type ResponseContentLanguage:

string

param ResponseContentLanguage:

Sets the Content-Language header of the response.

type ResponseContentType:

string

param ResponseContentType:

Sets the Content-Type header of the response.

type ResponseExpires:

datetime

param ResponseExpires:

Sets the Expires header of the response.

type VersionId:

string

param VersionId:

Version ID used to reference a specific version of the object.

type SSECustomerAlgorithm:

string

param SSECustomerAlgorithm:

Specifies the algorithm to use when encrypting the object (for example, AES256).

type SSECustomerKey:

string

param SSECustomerKey:

Specifies the customer-provided encryption key for Amazon S3 to use in encrypting data. This value is used to store the object and then it is discarded; Amazon S3 does not store the encryption key. The key must be appropriate for use with the algorithm specified in the x-amz-server-side-encryption-customer-algorithm header.

type SSECustomerKeyMD5:

string

param SSECustomerKeyMD5:

Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. Amazon S3 uses this header for a message integrity check to ensure that the encryption key was transmitted without error.

type RequestPayer:

string

param RequestPayer:

Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see Downloading Objects in Requester Pays Buckets in the Amazon S3 User Guide.

type PartNumber:

integer

param PartNumber:

Part number of the object being read. This is a positive integer between 1 and 10,000. Effectively performs a 'ranged' HEAD request for the part specified. Useful querying about the size of the part and the number of parts in this object.

type ExpectedBucketOwner:

string

param ExpectedBucketOwner:

The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

type ChecksumMode:

string

param ChecksumMode:

To retrieve the checksum, this parameter must be enabled.

General purpose buckets - If you enable checksum mode and the object is uploaded with a checksum and encrypted with an Key Management Service (KMS) key, you must have permission to use the kms:Decrypt action to retrieve the checksum.

Directory buckets - If you enable ChecksumMode and the object is encrypted with Amazon Web Services Key Management Service (Amazon Web Services KMS), you must also have the kms:GenerateDataKey and kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the KMS key to retrieve the checksum of the object.

rtype:

dict

returns:

Response Syntax

{
    'DeleteMarker': True|False,
    'AcceptRanges': 'string',
    'Expiration': 'string',
    'Restore': 'string',
    'ArchiveStatus': 'ARCHIVE_ACCESS'|'DEEP_ARCHIVE_ACCESS',
    'LastModified': datetime(2015, 1, 1),
    'ContentLength': 123,
    'ChecksumCRC32': 'string',
    'ChecksumCRC32C': 'string',
    'ChecksumCRC64NVME': 'string',
    'ChecksumSHA1': 'string',
    'ChecksumSHA256': 'string',
    'ChecksumType': 'COMPOSITE'|'FULL_OBJECT',
    'ETag': 'string',
    'MissingMeta': 123,
    'VersionId': 'string',
    'CacheControl': 'string',
    'ContentDisposition': 'string',
    'ContentEncoding': 'string',
    'ContentLanguage': 'string',
    'ContentType': 'string',
    'ContentRange': 'string',
    'Expires': datetime(2015, 1, 1),
    'WebsiteRedirectLocation': 'string',
    'ServerSideEncryption': 'AES256'|'aws:kms'|'aws:kms:dsse',
    'Metadata': {
        'string': 'string'
    },
    'SSECustomerAlgorithm': 'string',
    'SSECustomerKeyMD5': 'string',
    'SSEKMSKeyId': 'string',
    'BucketKeyEnabled': True|False,
    'StorageClass': 'STANDARD'|'REDUCED_REDUNDANCY'|'STANDARD_IA'|'ONEZONE_IA'|'INTELLIGENT_TIERING'|'GLACIER'|'DEEP_ARCHIVE'|'OUTPOSTS'|'GLACIER_IR'|'SNOW'|'EXPRESS_ONEZONE',
    'RequestCharged': 'requester',
    'ReplicationStatus': 'COMPLETE'|'PENDING'|'FAILED'|'REPLICA'|'COMPLETED',
    'PartsCount': 123,
    'TagCount': 123,
    'ObjectLockMode': 'GOVERNANCE'|'COMPLIANCE',
    'ObjectLockRetainUntilDate': datetime(2015, 1, 1),
    'ObjectLockLegalHoldStatus': 'ON'|'OFF'
}

Response Structure

  • (dict) --

    • DeleteMarker (boolean) --

      Specifies whether the object retrieved was (true) or was not (false) a Delete Marker. If false, this response header does not appear in the response.

    • AcceptRanges (string) --

      Indicates that a range of bytes was specified.

    • Expiration (string) --

      If the object expiration is configured (see PutBucketLifecycleConfiguration), the response includes this header. It includes the expiry-date and rule-id key-value pairs providing object expiration information. The value of the rule-id is URL-encoded.

    • Restore (string) --

      If the object is an archived object (an object whose storage class is GLACIER), the response includes this header if either the archive restoration is in progress (see RestoreObject or an archive copy is already restored.

      If an archive copy is already restored, the header value indicates when Amazon S3 is scheduled to delete the object copy. For example:

      x-amz-restore: ongoing-request="false", expiry-date="Fri, 21 Dec 2012 00:00:00 GMT"

      If the object restoration is in progress, the header returns the value ongoing-request="true".

      For more information about archiving objects, see Transitioning Objects: General Considerations.

    • ArchiveStatus (string) --

      The archive state of the head object.

    • LastModified (datetime) --

      Date and time when the object was last modified.

    • ContentLength (integer) --

      Size of the body in bytes.

    • ChecksumCRC32 (string) --

      The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only be present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see Checking object integrity in the Amazon S3 User Guide.

    • ChecksumCRC32C (string) --

      The Base64 encoded, 32-bit CRC32C checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see Checking object integrity in the Amazon S3 User Guide.

    • ChecksumCRC64NVME (string) --

      The Base64 encoded, 64-bit CRC64NVME checksum of the object. For more information, see Checking object integrity in the Amazon S3 User Guide.

    • ChecksumSHA1 (string) --

      The Base64 encoded, 160-bit SHA1 digest of the object. This will only be present if the object was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see Checking object integrity in the Amazon S3 User Guide.

    • ChecksumSHA256 (string) --

      The Base64 encoded, 256-bit SHA256 digest of the object. This will only be present if the object was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see Checking object integrity in the Amazon S3 User Guide.

    • ChecksumType (string) --

      The checksum type, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. You can use this header response to verify that the checksum type that is received is the same checksum type that was specified in CreateMultipartUpload request. For more information, see Checking object integrity in the Amazon S3 User Guide.

    • ETag (string) --

      An entity tag (ETag) is an opaque identifier assigned by a web server to a specific version of a resource found at a URL.

    • MissingMeta (integer) --

      This is set to the number of metadata entries not returned in x-amz-meta headers. This can happen if you create metadata using an API like SOAP that supports more flexible metadata than the REST API. For example, using SOAP, you can create metadata whose values are not legal HTTP headers.

    • VersionId (string) --

      Version ID of the object.

    • CacheControl (string) --

      Specifies caching behavior along the request/reply chain.

    • ContentDisposition (string) --

      Specifies presentational information for the object.

    • ContentEncoding (string) --

      Indicates what content encodings have been applied to the object and thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

    • ContentLanguage (string) --

      The language the content is in.

    • ContentType (string) --

      A standard MIME type describing the format of the object data.

    • ContentRange (string) --

      The portion of the object returned in the response for a GET request.

    • Expires (datetime) --

      The date and time at which the object is no longer cacheable.

    • WebsiteRedirectLocation (string) --

      If the bucket is configured as a website, redirects requests for this object to another object in the same bucket or to an external URL. Amazon S3 stores the value of this header in the object metadata.

    • ServerSideEncryption (string) --

      The server-side encryption algorithm used when you store this object in Amazon S3 (for example, AES256, aws:kms, aws:kms:dsse).

    • Metadata (dict) --

      A map of metadata to store with the object in S3.

      • (string) --

        • (string) --

    • SSECustomerAlgorithm (string) --

      If server-side encryption with a customer-provided encryption key was requested, the response will include this header to confirm the encryption algorithm that's used.

    • SSECustomerKeyMD5 (string) --

      If server-side encryption with a customer-provided encryption key was requested, the response will include this header to provide the round-trip message integrity verification of the customer-provided encryption key.

    • SSEKMSKeyId (string) --

      If present, indicates the ID of the KMS key that was used for object encryption.

    • BucketKeyEnabled (boolean) --

      Indicates whether the object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS).

    • StorageClass (string) --

      Provides storage class information of the object. Amazon S3 returns this header for all objects except for S3 Standard storage class objects.

      For more information, see Storage Classes.

    • RequestCharged (string) --

      If present, indicates that the requester was successfully charged for the request. For more information, see Using Requester Pays buckets for storage transfers and usage in the Amazon Simple Storage Service user guide.

    • ReplicationStatus (string) --

      Amazon S3 can return this header if your request involves a bucket that is either a source or a destination in a replication rule.

      In replication, you have a source bucket on which you configure replication and destination bucket or buckets where Amazon S3 stores object replicas. When you request an object ( GetObject) or object metadata ( HeadObject) from these buckets, Amazon S3 will return the x-amz-replication-status header in the response as follows:

      • If requesting an object from the source bucket, Amazon S3 will return the x-amz-replication-status header if the object in your request is eligible for replication. For example, suppose that in your replication configuration, you specify object prefix TaxDocs requesting Amazon S3 to replicate objects with key prefix TaxDocs. Any objects you upload with this key name prefix, for example TaxDocs/document1.pdf, are eligible for replication. For any object request with this key name prefix, Amazon S3 will return the x-amz-replication-status header with value PENDING, COMPLETED or FAILED indicating object replication status.

      • If requesting an object from a destination bucket, Amazon S3 will return the x-amz-replication-status header with value REPLICA if the object in your request is a replica that Amazon S3 created and there is no replica modification replication in progress.

      • When replicating objects to multiple destination buckets, the x-amz-replication-status header acts differently. The header of the source object will only return a value of COMPLETED when replication is successful to all destinations. The header will remain at value PENDING until replication has completed for all destinations. If one or more destinations fails replication the header will return FAILED.

      For more information, see Replication.

    • PartsCount (integer) --

      The count of parts this object has. This value is only returned if you specify partNumber in your request and the object was uploaded as a multipart upload.

    • TagCount (integer) --

      The number of tags, if any, on the object, when you have the relevant permission to read object tags.

      You can use GetObjectTagging to retrieve the tag set associated with an object.

    • ObjectLockMode (string) --

      The Object Lock mode, if any, that's in effect for this object. This header is only returned if the requester has the s3:GetObjectRetention permission. For more information about S3 Object Lock, see Object Lock.

    • ObjectLockRetainUntilDate (datetime) --

      The date and time when the Object Lock retention period expires. This header is only returned if the requester has the s3:GetObjectRetention permission.

    • ObjectLockLegalHoldStatus (string) --

      Specifies whether a legal hold is in effect for this object. This header is only returned if the requester has the s3:GetObjectLegalHold permission. This header is not returned if the specified version of this object has never had a legal hold applied. For more information about S3 Object Lock, see Object Lock.

ListBucketIntelligentTieringConfigurations (updated) Link ¶
Changes (request)
{'ExpectedBucketOwner': 'string'}

Lists the S3 Intelligent-Tiering configuration from the specified bucket.

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

Operations related to ListBucketIntelligentTieringConfigurations include:

See also: AWS API Documentation

Request Syntax

client.list_bucket_intelligent_tiering_configurations(
    Bucket='string',
    ContinuationToken='string',
    ExpectedBucketOwner='string'
)
type Bucket:

string

param Bucket:

[REQUIRED]

The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.

type ContinuationToken:

string

param ContinuationToken:

The ContinuationToken that represents a placeholder from where this request should begin.

type ExpectedBucketOwner:

string

param ExpectedBucketOwner:

The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

rtype:

dict

returns:

Response Syntax

{
    'IsTruncated': True|False,
    'ContinuationToken': 'string',
    'NextContinuationToken': 'string',
    'IntelligentTieringConfigurationList': [
        {
            'Id': 'string',
            'Filter': {
                'Prefix': 'string',
                'Tag': {
                    'Key': 'string',
                    'Value': 'string'
                },
                'And': {
                    'Prefix': 'string',
                    'Tags': [
                        {
                            'Key': 'string',
                            'Value': 'string'
                        },
                    ]
                }
            },
            'Status': 'Enabled'|'Disabled',
            'Tierings': [
                {
                    'Days': 123,
                    'AccessTier': 'ARCHIVE_ACCESS'|'DEEP_ARCHIVE_ACCESS'
                },
            ]
        },
    ]
}

Response Structure

  • (dict) --

    • IsTruncated (boolean) --

      Indicates whether the returned list of analytics configurations is complete. A value of true indicates that the list is not complete and the NextContinuationToken will be provided for a subsequent request.

    • ContinuationToken (string) --

      The ContinuationToken that represents a placeholder from where this request should begin.

    • NextContinuationToken (string) --

      The marker used to continue this inventory configuration listing. Use the NextContinuationToken from this response to continue the listing in a subsequent request. The continuation token is an opaque value that Amazon S3 understands.

    • IntelligentTieringConfigurationList (list) --

      The list of S3 Intelligent-Tiering configurations for a bucket.

      • (dict) --

        Specifies the S3 Intelligent-Tiering configuration for an Amazon S3 bucket.

        For information about the S3 Intelligent-Tiering storage class, see Storage class for automatically optimizing frequently and infrequently accessed objects.

        • Id (string) --

          The ID used to identify the S3 Intelligent-Tiering configuration.

        • Filter (dict) --

          Specifies a bucket filter. The configuration only includes objects that meet the filter's criteria.

          • Prefix (string) --

            An object key name prefix that identifies the subset of objects to which the rule applies.

          • Tag (dict) --

            A container of a key value name pair.

            • Key (string) --

              Name of the object key.

            • Value (string) --

              Value of the tag.

          • And (dict) --

            A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates, and an object must match all of the predicates in order for the filter to apply.

            • Prefix (string) --

              An object key name prefix that identifies the subset of objects to which the configuration applies.

            • Tags (list) --

              All of these tags must exist in the object's tag set in order for the configuration to apply.

              • (dict) --

                A container of a key value name pair.

                • Key (string) --

                  Name of the object key.

                • Value (string) --

                  Value of the tag.

        • Status (string) --

          Specifies the status of the configuration.

        • Tierings (list) --

          Specifies the S3 Intelligent-Tiering storage class tier of the configuration.

          • (dict) --

            The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead.

            • Days (integer) --

              The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).

            • AccessTier (string) --

              S3 Intelligent-Tiering access tier. See Storage class for automatically optimizing frequently and infrequently accessed objects for a list of access tiers in the S3 Intelligent-Tiering storage class.

PutBucketIntelligentTieringConfiguration (updated) Link ¶
Changes (request)
{'ExpectedBucketOwner': 'string'}

Puts a S3 Intelligent-Tiering configuration to the specified bucket. You can have up to 1,000 S3 Intelligent-Tiering configurations per bucket.

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

Operations related to PutBucketIntelligentTieringConfiguration include:

Code: InvalidArgument

Cause: Invalid Argument

HTTP 400 Bad Request Error

Code: TooManyConfigurations

Cause: You are attempting to create a new configuration but have already reached the 1,000-configuration limit.

HTTP 403 Forbidden Error

Cause: You are not the owner of the specified bucket, or you do not have the s3:PutIntelligentTieringConfiguration bucket permission to set the configuration on the bucket.

See also: AWS API Documentation

Request Syntax

client.put_bucket_intelligent_tiering_configuration(
    Bucket='string',
    Id='string',
    ExpectedBucketOwner='string',
    IntelligentTieringConfiguration={
        'Id': 'string',
        'Filter': {
            'Prefix': 'string',
            'Tag': {
                'Key': 'string',
                'Value': 'string'
            },
            'And': {
                'Prefix': 'string',
                'Tags': [
                    {
                        'Key': 'string',
                        'Value': 'string'
                    },
                ]
            }
        },
        'Status': 'Enabled'|'Disabled',
        'Tierings': [
            {
                'Days': 123,
                'AccessTier': 'ARCHIVE_ACCESS'|'DEEP_ARCHIVE_ACCESS'
            },
        ]
    }
)
type Bucket:

string

param Bucket:

[REQUIRED]

The name of the Amazon S3 bucket whose configuration you want to modify or retrieve.

type Id:

string

param Id:

[REQUIRED]

The ID used to identify the S3 Intelligent-Tiering configuration.

type ExpectedBucketOwner:

string

param ExpectedBucketOwner:

The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

type IntelligentTieringConfiguration:

dict

param IntelligentTieringConfiguration:

[REQUIRED]

Container for S3 Intelligent-Tiering configuration.

  • Id (string) -- [REQUIRED]

    The ID used to identify the S3 Intelligent-Tiering configuration.

  • Filter (dict) --

    Specifies a bucket filter. The configuration only includes objects that meet the filter's criteria.

    • Prefix (string) --

      An object key name prefix that identifies the subset of objects to which the rule applies.

    • Tag (dict) --

      A container of a key value name pair.

      • Key (string) -- [REQUIRED]

        Name of the object key.

      • Value (string) -- [REQUIRED]

        Value of the tag.

    • And (dict) --

      A conjunction (logical AND) of predicates, which is used in evaluating a metrics filter. The operator must have at least two predicates, and an object must match all of the predicates in order for the filter to apply.

      • Prefix (string) --

        An object key name prefix that identifies the subset of objects to which the configuration applies.

      • Tags (list) --

        All of these tags must exist in the object's tag set in order for the configuration to apply.

        • (dict) --

          A container of a key value name pair.

          • Key (string) -- [REQUIRED]

            Name of the object key.

          • Value (string) -- [REQUIRED]

            Value of the tag.

  • Status (string) -- [REQUIRED]

    Specifies the status of the configuration.

  • Tierings (list) -- [REQUIRED]

    Specifies the S3 Intelligent-Tiering storage class tier of the configuration.

    • (dict) --

      The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without additional operational overhead.

      • Days (integer) -- [REQUIRED]

        The number of consecutive days of no access after which an object will be eligible to be transitioned to the corresponding tier. The minimum number of days specified for Archive Access tier must be at least 90 days and Deep Archive Access tier must be at least 180 days. The maximum can be up to 2 years (730 days).

      • AccessTier (string) -- [REQUIRED]

        S3 Intelligent-Tiering access tier. See Storage class for automatically optimizing frequently and infrequently accessed objects for a list of access tiers in the S3 Intelligent-Tiering storage class.

returns:

None