Deleting Objects in a Batch

API Description

You can use this API to delete objects from a specified bucket in a batch.

Method Definition

ObsClient.deleteObjects(bucketName, deleteObjectsRequest)

Request Parameters

Field

Type

Optional or Mandatory

Description

bucketName

str

Mandatory

Bucket name

deleteObjectsRequest

DeleteObjectsRequest

Mandatory

Request parameter of deleting objects in a batch

Returned Results

Type

Description

GetResult

SDK common result object

GetResult.body Type

Description

DeleteObjectResponse

Response result of the request for deleting objects in a batch

Sample Code

try:
    from obs import DeleteObjectsRequest, Object 
     
    object1 = Object(key='objectkey', versionId=None) 
    object2 = Object(key='objectkey2', versionId=None) 
     
    resp = obsClient.deleteObjects('bucketname', DeleteObjectsRequest(quiet=False, objects=[object1, object2])) 
          
    if resp.status < 300: 
        print('requestId:', resp.requestId) 
        if resp.body.deleted: 
            index = 1 
            for delete in resp.body.deleted: 
                print('delete[' + str(index) + ']') 
                print('key:', delete.key, ',deleteMarker:', delete.deleteMarker, ',deleteMarkerVersionId:', delete.deleteMarkerVersionId) 
                print('versionId:', delete.versionId) 
                index += 1 
        if resp.body.error: 
            index = 1 
            for err in resp.body.error: 
                print('err[' + str(index) + ']') 
                print('key:', err.key, ',code:', err.code, ',message:', err.message) 
                print('versionId:', err.versionId) 
                index += 1 
    else: 
        print('errorCode:', resp.errorCode) 
        print('errorMessage:', resp.errorMessage)
except:
    import traceback
    print(traceback.format_exc())