S3 / Client / delete_objects
delete_objects#
- S3.Client.delete_objects(**kwargs)#
This operation enables you to delete multiple objects from a bucket using a single HTTP request. If you know the object keys that you want to delete, then this operation provides a suitable alternative to sending individual delete requests, reducing per-request overhead.
The request can contain a list of up to 1000 keys that you want to delete. In the XML, you provide the object key names, and optionally, version IDs if you want to delete a specific version of the object from a versioning-enabled bucket. For each key, Amazon S3 performs a delete operation and returns the result of that delete, success or failure, in the response. Note that if the object specified in the request is not found, Amazon S3 returns the result as deleted.
Note
Directory buckets - S3 Versioning isn’t enabled and supported for directory buckets.
Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format ``https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name ``. Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see Available Local Zone for directory buckets in the Amazon S3 User Guide.
The operation supports two modes for the response: verbose and quiet. By default, the operation uses verbose mode in which the response includes the result of deletion of each key in your request. In quiet mode the response includes only keys where the delete operation encountered an error. For a successful deletion in a quiet mode, the operation does not return any information about the delete in the response body.
When performing this action on an MFA Delete enabled bucket, that attempts to delete any versioned objects, you must include an MFA token. If you do not provide one, the entire request will fail, even if there are non-versioned objects you are trying to delete. If you provide an invalid token, whether there are versioned keys in the request or not, the entire Multi-Object Delete request will fail. For information about MFA Delete, see MFA Delete in the Amazon S3 User Guide.
Note
Directory buckets - MFA delete is not supported by directory buckets.
Permissions
General purpose bucket permissions - The following permissions are required in your policies when your
DeleteObjects
request includes specific headers.s3:DeleteObject
- To delete an object from a bucket, you must always specify thes3:DeleteObject
permission.s3:DeleteObjectVersion
- To delete a specific version of an object from a versioning-enabled bucket, you must specify thes3:DeleteObjectVersion
permission.
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 theCreateSession
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 anotherCreateSession
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.Content-MD5 request header
General purpose bucket - The Content-MD5 request header is required for all Multi-Object Delete requests. Amazon S3 uses the header value to ensure that your request body has not been altered in transit.
Directory bucket - The Content-MD5 request header or a additional checksum request header (including
x-amz-checksum-crc32
,x-amz-checksum-crc32c
,x-amz-checksum-sha1
, orx-amz-checksum-sha256
) is required for all Multi-Object Delete requests.HTTP Host header syntax
Directory buckets - The HTTP Host header syntax is
Bucket-name.s3express-zone-id.region-code.amazonaws.com
.The following operations are related to
DeleteObjects
:See also: AWS API Documentation
Request Syntax
response = client.delete_objects( Bucket='string', Delete={ 'Objects': [ { 'Key': 'string', 'VersionId': 'string', 'ETag': 'string', 'LastModifiedTime': datetime(2015, 1, 1), 'Size': 123 }, ], 'Quiet': True|False }, MFA='string', RequestPayer='requester', BypassGovernanceRetention=True|False, ExpectedBucketOwner='string', ChecksumAlgorithm='CRC32'|'CRC32C'|'SHA1'|'SHA256' )
- Parameters:
Bucket (string) –
[REQUIRED]
The bucket name containing the objects to delete.
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 formatbucket-base-name--zone-id--x-s3
(for example,DOC-EXAMPLE-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, you must provide the alias of the access point in place of the bucket name or specify the access point ARN. 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.
Note
Access points and Object Lambda access points are not supported by directory buckets.
S3 on Outposts - When you use this action with Amazon 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 through the Amazon Web Services SDKs, you provide the Outposts access point ARN in place of the bucket name. For more information about S3 on Outposts ARNs, see What is S3 on Outposts? in the Amazon S3 User Guide.Delete (dict) –
[REQUIRED]
Container for the request.
Objects (list) – [REQUIRED]
The object to delete.
Note
Directory buckets - For directory buckets, an object that’s composed entirely of whitespace characters is not supported by the
DeleteObjects
API operation. The request will receive a400 Bad Request
error and none of the objects in the request will be deleted.(dict) –
Object Identifier is unique value to identify objects.
Key (string) – [REQUIRED]
Key name of the object.
Warning
Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see XML related object key constraints.
VersionId (string) –
Version ID for the specific version of the object to delete.
Note
This functionality is not supported for directory buckets.
ETag (string) –
An entity tag (ETag) is an identifier assigned by a web server to a specific version of a resource found at a URL. This header field makes the request method conditional on
ETags
.Note
Entity tags (ETags) for S3 Express One Zone are random alphanumeric strings unique to the object.
LastModifiedTime (datetime) –
If present, the objects are deleted only if its modification times matches the provided
Timestamp
.Note
This functionality is only supported for directory buckets.
Size (integer) –
If present, the objects are deleted only if its size matches the provided size in bytes.
Note
This functionality is only supported for directory buckets.
Quiet (boolean) –
Element to enable quiet mode for the request. When you add this element, you must set its value to
true
.
MFA (string) –
The concatenation of the authentication device’s serial number, a space, and the value that is displayed on your authentication device. Required to permanently delete a versioned object if versioning is configured with MFA delete enabled.
When performing the
DeleteObjects
operation on an MFA delete enabled bucket, which attempts to delete the specified versioned objects, you must include an MFA token. If you don’t provide an MFA token, the entire request will fail, even if there are non-versioned objects that you are trying to delete. If you provide an invalid token, whether there are versioned object keys in the request or not, the entire Multi-Object Delete request will fail. For information about MFA Delete, see MFA Delete in the Amazon S3 User Guide.Note
This functionality is not supported for directory buckets.
RequestPayer (string) –
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.
Note
This functionality is not supported for directory buckets.
BypassGovernanceRetention (boolean) –
Specifies whether you want to delete this object even if it has a Governance-type Object Lock in place. To use this header, you must have the
s3:BypassGovernanceRetention
permission.Note
This functionality is not supported for directory buckets.
ExpectedBucketOwner (string) – 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).ChecksumAlgorithm (string) –
Indicates the algorithm used to create the checksum for the object when you use the SDK. This header will not provide any additional functionality if you don’t use the SDK. When you send this header, there must be a corresponding
x-amz-checksum-algorithm
orx-amz-trailer
header sent. Otherwise, Amazon S3 fails the request with the HTTP status code400 Bad Request
.For the
x-amz-checksum-algorithm
header, replacealgorithm
with the supported algorithm from the following list:CRC32
CRC32C
SHA1
SHA256
For more information, see Checking object integrity in the Amazon S3 User Guide.
If the individual checksum value you provide through
x-amz-checksum-algorithm
doesn’t match the checksum algorithm you set throughx-amz-sdk-checksum-algorithm
, Amazon S3 ignores any providedChecksumAlgorithm
parameter and uses the checksum algorithm that matches the provided value in ``x-amz-checksum-algorithm ``.If you provide an individual checksum, Amazon S3 ignores any provided
ChecksumAlgorithm
parameter.
- Return type:
dict
- Returns:
Response Syntax
{ 'Deleted': [ { 'Key': 'string', 'VersionId': 'string', 'DeleteMarker': True|False, 'DeleteMarkerVersionId': 'string' }, ], 'RequestCharged': 'requester', 'Errors': [ { 'Key': 'string', 'VersionId': 'string', 'Code': 'string', 'Message': 'string' }, ] }
Response Structure
(dict) –
Deleted (list) –
Container element for a successful delete. It identifies the object that was successfully deleted.
(dict) –
Information about the deleted object.
Key (string) –
The name of the deleted object.
VersionId (string) –
The version ID of the deleted object.
Note
This functionality is not supported for directory buckets.
DeleteMarker (boolean) –
Indicates whether the specified object version that was permanently deleted was (true) or was not (false) a delete marker before deletion. In a simple DELETE, this header indicates whether (true) or not (false) the current version of the object is a delete marker.
Note
This functionality is not supported for directory buckets.
DeleteMarkerVersionId (string) –
The version ID of the delete marker created as a result of the DELETE operation. If you delete a specific object version, the value returned by this header is the version ID of the object version deleted.
Note
This functionality is not supported for directory buckets.
RequestCharged (string) –
If present, indicates that the requester was successfully charged for the request.
Note
This functionality is not supported for directory buckets.
Errors (list) –
Container for a failed delete action that describes the object that Amazon S3 attempted to delete and the error it encountered.
(dict) –
Container for all error elements.
Key (string) –
The error key.
VersionId (string) –
The version ID of the error.
Note
This functionality is not supported for directory buckets.
Code (string) –
The error code is a string that uniquely identifies an error condition. It is meant to be read and understood by programs that detect and handle errors by type. The following is a list of Amazon S3 error codes. For more information, see Error responses.
Code: AccessDenied
Description: Access Denied
HTTP Status Code: 403 Forbidden
SOAP Fault Code Prefix: Client
Code: AccountProblem
Description: There is a problem with your Amazon Web Services account that prevents the action from completing successfully. Contact Amazon Web Services Support for further assistance.
HTTP Status Code: 403 Forbidden
SOAP Fault Code Prefix: Client
Code: AllAccessDisabled
Description: All access to this Amazon S3 resource has been disabled. Contact Amazon Web Services Support for further assistance.
HTTP Status Code: 403 Forbidden
SOAP Fault Code Prefix: Client
Code: AmbiguousGrantByEmailAddress
Description: The email address you provided is associated with more than one account.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: AuthorizationHeaderMalformed
Description: The authorization header you provided is invalid.
HTTP Status Code: 400 Bad Request
HTTP Status Code: N/A
Code: BadDigest
Description: The Content-MD5 you specified did not match what we received.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: BucketAlreadyExists
Description: The requested bucket name is not available. The bucket namespace is shared by all users of the system. Please select a different name and try again.
HTTP Status Code: 409 Conflict
SOAP Fault Code Prefix: Client
Code: BucketAlreadyOwnedByYou
Description: The bucket you tried to create already exists, and you own it. Amazon S3 returns this error in all Amazon Web Services Regions except in the North Virginia Region. For legacy compatibility, if you re-create an existing bucket that you already own in the North Virginia Region, Amazon S3 returns 200 OK and resets the bucket access control lists (ACLs).
Code: 409 Conflict (in all Regions except the North Virginia Region)
SOAP Fault Code Prefix: Client
Code: BucketNotEmpty
Description: The bucket you tried to delete is not empty.
HTTP Status Code: 409 Conflict
SOAP Fault Code Prefix: Client
Code: CredentialsNotSupported
Description: This request does not support credentials.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: CrossLocationLoggingProhibited
Description: Cross-location logging not allowed. Buckets in one geographic location cannot log information to a bucket in another location.
HTTP Status Code: 403 Forbidden
SOAP Fault Code Prefix: Client
Code: EntityTooSmall
Description: Your proposed upload is smaller than the minimum allowed object size.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: EntityTooLarge
Description: Your proposed upload exceeds the maximum allowed object size.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: ExpiredToken
Description: The provided token has expired.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: IllegalVersioningConfigurationException
Description: Indicates that the versioning configuration specified in the request is invalid.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: IncompleteBody
Description: You did not provide the number of bytes specified by the Content-Length HTTP header
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: IncorrectNumberOfFilesInPostRequest
Description: POST requires exactly one file upload per request.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: InlineDataTooLarge
Description: Inline data exceeds the maximum allowed size.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: InternalError
Description: We encountered an internal error. Please try again.
HTTP Status Code: 500 Internal Server Error
SOAP Fault Code Prefix: Server
Code: InvalidAccessKeyId
Description: The Amazon Web Services access key ID you provided does not exist in our records.
HTTP Status Code: 403 Forbidden
SOAP Fault Code Prefix: Client
Code: InvalidAddressingHeader
Description: You must specify the Anonymous role.
HTTP Status Code: N/A
SOAP Fault Code Prefix: Client
Code: InvalidArgument
Description: Invalid Argument
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: InvalidBucketName
Description: The specified bucket is not valid.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: InvalidBucketState
Description: The request is not valid with the current state of the bucket.
HTTP Status Code: 409 Conflict
SOAP Fault Code Prefix: Client
Code: InvalidDigest
Description: The Content-MD5 you specified is not valid.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: InvalidEncryptionAlgorithmError
Description: The encryption request you specified is not valid. The valid value is AES256.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: InvalidLocationConstraint
Description: The specified location constraint is not valid. For more information about Regions, see How to Select a Region for Your Buckets.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: InvalidObjectState
Description: The action is not valid for the current state of the object.
HTTP Status Code: 403 Forbidden
SOAP Fault Code Prefix: Client
Code: InvalidPart
Description: One or more of the specified parts could not be found. The part might not have been uploaded, or the specified entity tag might not have matched the part’s entity tag.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: InvalidPartOrder
Description: The list of parts was not in ascending order. Parts list must be specified in order by part number.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: InvalidPayer
Description: All access to this object has been disabled. Please contact Amazon Web Services Support for further assistance.
HTTP Status Code: 403 Forbidden
SOAP Fault Code Prefix: Client
Code: InvalidPolicyDocument
Description: The content of the form does not meet the conditions specified in the policy document.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: InvalidRange
Description: The requested range cannot be satisfied.
HTTP Status Code: 416 Requested Range Not Satisfiable
SOAP Fault Code Prefix: Client
Code: InvalidRequest
Description: Please use
AWS4-HMAC-SHA256
.HTTP Status Code: 400 Bad Request
Code: N/A
Code: InvalidRequest
Description: SOAP requests must be made over an HTTPS connection.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: InvalidRequest
Description: Amazon S3 Transfer Acceleration is not supported for buckets with non-DNS compliant names.
HTTP Status Code: 400 Bad Request
Code: N/A
Code: InvalidRequest
Description: Amazon S3 Transfer Acceleration is not supported for buckets with periods (.) in their names.
HTTP Status Code: 400 Bad Request
Code: N/A
Code: InvalidRequest
Description: Amazon S3 Transfer Accelerate endpoint only supports virtual style requests.
HTTP Status Code: 400 Bad Request
Code: N/A
Code: InvalidRequest
Description: Amazon S3 Transfer Accelerate is not configured on this bucket.
HTTP Status Code: 400 Bad Request
Code: N/A
Code: InvalidRequest
Description: Amazon S3 Transfer Accelerate is disabled on this bucket.
HTTP Status Code: 400 Bad Request
Code: N/A
Code: InvalidRequest
Description: Amazon S3 Transfer Acceleration is not supported on this bucket. Contact Amazon Web Services Support for more information.
HTTP Status Code: 400 Bad Request
Code: N/A
Code: InvalidRequest
Description: Amazon S3 Transfer Acceleration cannot be enabled on this bucket. Contact Amazon Web Services Support for more information.
HTTP Status Code: 400 Bad Request
Code: N/A
Code: InvalidSecurity
Description: The provided security credentials are not valid.
HTTP Status Code: 403 Forbidden
SOAP Fault Code Prefix: Client
Code: InvalidSOAPRequest
Description: The SOAP request body is invalid.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: InvalidStorageClass
Description: The storage class you specified is not valid.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: InvalidTargetBucketForLogging
Description: The target bucket for logging does not exist, is not owned by you, or does not have the appropriate grants for the log-delivery group.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: InvalidToken
Description: The provided token is malformed or otherwise invalid.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: InvalidURI
Description: Couldn’t parse the specified URI.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: KeyTooLongError
Description: Your key is too long.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: MalformedACLError
Description: The XML you provided was not well-formed or did not validate against our published schema.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: MalformedPOSTRequest
Description: The body of your POST request is not well-formed multipart/form-data.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: MalformedXML
Description: This happens when the user sends malformed XML (XML that doesn’t conform to the published XSD) for the configuration. The error message is, “The XML you provided was not well-formed or did not validate against our published schema.”
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: MaxMessageLengthExceeded
Description: Your request was too big.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: MaxPostPreDataLengthExceededError
Description: Your POST request fields preceding the upload file were too large.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: MetadataTooLarge
Description: Your metadata headers exceed the maximum allowed metadata size.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: MethodNotAllowed
Description: The specified method is not allowed against this resource.
HTTP Status Code: 405 Method Not Allowed
SOAP Fault Code Prefix: Client
Code: MissingAttachment
Description: A SOAP attachment was expected, but none were found.
HTTP Status Code: N/A
SOAP Fault Code Prefix: Client
Code: MissingContentLength
Description: You must provide the Content-Length HTTP header.
HTTP Status Code: 411 Length Required
SOAP Fault Code Prefix: Client
Code: MissingRequestBodyError
Description: This happens when the user sends an empty XML document as a request. The error message is, “Request body is empty.”
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: MissingSecurityElement
Description: The SOAP 1.1 request is missing a security element.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: MissingSecurityHeader
Description: Your request is missing a required header.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: NoLoggingStatusForKey
Description: There is no such thing as a logging status subresource for a key.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: NoSuchBucket
Description: The specified bucket does not exist.
HTTP Status Code: 404 Not Found
SOAP Fault Code Prefix: Client
Code: NoSuchBucketPolicy
Description: The specified bucket does not have a bucket policy.
HTTP Status Code: 404 Not Found
SOAP Fault Code Prefix: Client
Code: NoSuchKey
Description: The specified key does not exist.
HTTP Status Code: 404 Not Found
SOAP Fault Code Prefix: Client
Code: NoSuchLifecycleConfiguration
Description: The lifecycle configuration does not exist.
HTTP Status Code: 404 Not Found
SOAP Fault Code Prefix: Client
Code: NoSuchUpload
Description: The specified multipart upload does not exist. The upload ID might be invalid, or the multipart upload might have been aborted or completed.
HTTP Status Code: 404 Not Found
SOAP Fault Code Prefix: Client
Code: NoSuchVersion
Description: Indicates that the version ID specified in the request does not match an existing version.
HTTP Status Code: 404 Not Found
SOAP Fault Code Prefix: Client
Code: NotImplemented
Description: A header you provided implies functionality that is not implemented.
HTTP Status Code: 501 Not Implemented
SOAP Fault Code Prefix: Server
Code: NotSignedUp
Description: Your account is not signed up for the Amazon S3 service. You must sign up before you can use Amazon S3. You can sign up at the following URL: Amazon S3
HTTP Status Code: 403 Forbidden
SOAP Fault Code Prefix: Client
Code: OperationAborted
Description: A conflicting conditional action is currently in progress against this resource. Try again.
HTTP Status Code: 409 Conflict
SOAP Fault Code Prefix: Client
Code: PermanentRedirect
Description: The bucket you are attempting to access must be addressed using the specified endpoint. Send all future requests to this endpoint.
HTTP Status Code: 301 Moved Permanently
SOAP Fault Code Prefix: Client
Code: PreconditionFailed
Description: At least one of the preconditions you specified did not hold.
HTTP Status Code: 412 Precondition Failed
SOAP Fault Code Prefix: Client
Code: Redirect
Description: Temporary redirect.
HTTP Status Code: 307 Moved Temporarily
SOAP Fault Code Prefix: Client
Code: RestoreAlreadyInProgress
Description: Object restore is already in progress.
HTTP Status Code: 409 Conflict
SOAP Fault Code Prefix: Client
Code: RequestIsNotMultiPartContent
Description: Bucket POST must be of the enclosure-type multipart/form-data.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: RequestTimeout
Description: Your socket connection to the server was not read from or written to within the timeout period.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: RequestTimeTooSkewed
Description: The difference between the request time and the server’s time is too large.
HTTP Status Code: 403 Forbidden
SOAP Fault Code Prefix: Client
Code: RequestTorrentOfBucketError
Description: Requesting the torrent file of a bucket is not permitted.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: SignatureDoesNotMatch
Description: The request signature we calculated does not match the signature you provided. Check your Amazon Web Services secret access key and signing method. For more information, see REST Authentication and SOAP Authentication for details.
HTTP Status Code: 403 Forbidden
SOAP Fault Code Prefix: Client
Code: ServiceUnavailable
Description: Service is unable to handle request.
HTTP Status Code: 503 Service Unavailable
SOAP Fault Code Prefix: Server
Code: SlowDown
Description: Reduce your request rate.
HTTP Status Code: 503 Slow Down
SOAP Fault Code Prefix: Server
Code: TemporaryRedirect
Description: You are being redirected to the bucket while DNS updates.
HTTP Status Code: 307 Moved Temporarily
SOAP Fault Code Prefix: Client
Code: TokenRefreshRequired
Description: The provided token must be refreshed.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: TooManyBuckets
Description: You have attempted to create more buckets than allowed.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: UnexpectedContent
Description: This request does not support content.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: UnresolvableGrantByEmailAddress
Description: The email address you provided does not match any account on record.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Code: UserKeyMustBeSpecified
Description: The bucket POST must contain the specified field name. If it is specified, check the order of the fields.
HTTP Status Code: 400 Bad Request
SOAP Fault Code Prefix: Client
Message (string) –
The error message contains a generic description of the error condition in English. It is intended for a human audience. Simple programs display the message directly to the end user if they encounter an error condition they don’t know how or don’t care to handle. Sophisticated programs with more exhaustive error handling and proper internationalization are more likely to ignore the error message.
Examples
The following example deletes objects from a bucket. The request specifies object versions. S3 deletes specific object versions and returns the key and versions of deleted objects in the response.
response = client.delete_objects( Bucket='examplebucket', Delete={ 'Objects': [ { 'Key': 'HappyFace.jpg', 'VersionId': '2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b', }, { 'Key': 'HappyFace.jpg', 'VersionId': 'yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd', }, ], 'Quiet': False, }, ) print(response)
Expected Output:
{ 'Deleted': [ { 'Key': 'HappyFace.jpg', 'VersionId': 'yoz3HB.ZhCS_tKVEmIOr7qYyyAaZSKVd', }, { 'Key': 'HappyFace.jpg', 'VersionId': '2LWg7lQLnY41.maGB5Z6SWW.dcq0vx7b', }, ], 'ResponseMetadata': { '...': '...', }, }
The following example deletes objects from a bucket. The bucket is versioned, and the request does not specify the object version to delete. In this case, all versions remain in the bucket and S3 adds a delete marker.
response = client.delete_objects( Bucket='examplebucket', Delete={ 'Objects': [ { 'Key': 'objectkey1', }, { 'Key': 'objectkey2', }, ], 'Quiet': False, }, ) print(response)
Expected Output:
{ 'Deleted': [ { 'DeleteMarker': 'true', 'DeleteMarkerVersionId': 'A._w1z6EFiCF5uhtQMDal9JDkID9tQ7F', 'Key': 'objectkey1', }, { 'DeleteMarker': 'true', 'DeleteMarkerVersionId': 'iOd_ORxhkKe_e8G8_oSGxt2PjsCZKlkt', 'Key': 'objectkey2', }, ], 'ResponseMetadata': { '...': '...', }, }