更新时间:2022-02-10 GMT+08:00

批量删除对象

功能说明

批量删除指定桶中的多个对象。

方法定义

1. ObsClient->deleteObjects(array $parameter)
2. ObsClient->deleteObjectsAsync(array $parameter, callable $callback)

请求参数

字段名

类型

约束

说明

Bucket

string

必选

桶名。

Objects

indexed array

必选

待删除的对象列表。

  

Key

string

必选

待删除对象的名称。

VersionId

string

可选

待删除对象的版本号。

Quiet

boolean

可选

批量删除对象的响应方式,false表示详细模式,返回删除成功和删除失败的所有结果;true表示简单模式,只返回删除过程中出错的结果。

返回结果

字段名

类型

说明

HttpStatusCode

integer

HTTP状态码。

Reason

string

HTTP文本描述。

RequestId

string

OBS服务端返回的请求ID。

Deleteds

indexed array

删除成功的对象列表。

  

Key

string

删除成功的对象名。

VersionId

string

删除成功的对象版本号。

DeleteMarker

boolean

标识删除的对象是否是删除标记。

DeleteMarkerVersionId

string

删除标记的版本号。

Errors

indexed array

删除失败的对象列表。

  

Key

string

删除失败的对象名。

VersionId

string

删除失败的对象版本号。

Code

string

删除失败的错误码。

Message

string

删除失败的错误消息。

代码样例

try {
       $resp = $obsClient->deleteObjects ( [ 
              'Bucket' => 'bucketname',
              'Quiet' => false,
              'Objects' => [ 
                     [ 
                           'Key' => 'objectkey1',
                           'VersionId' => null 
                     ],
                     [ 
                           'Key' => 'objectkey2',
                           'VersionId' => null 
                     ] 
              ] 
       ] );
       printf ( "RequestId:%s\n", $resp ['RequestId'] );
       printf ( "Deleteds:\n" );
       foreach ( $resp ['Deleteds'] as $index => $deleted ) {
              printf ( "Deleteds[%d]", $index + 1 );
              printf ( "Key:%s\n", $deleted ['Key'] );
              printf ( "VersionId:%s\n", $deleted ['VersionId'] );
              printf ( "DeleteMarker:%s\n", $deleted ['DeleteMarker'] );
              printf ( "DeleteMarkerVersionId:%s\n", $deleted ['DeleteMarkerVersionId'] );
       }
       printf ( "Errors:\n" );
       foreach ( $resp ['Errors'] as $index => $error ) {
              printf ( "Errors[%d]", $index + 1 );
              printf ( "Key:%s\n", $error ['Key'] );
              printf ( "VersionId:%s\n", $$error ['VersionId'] );
              printf ( "Code:%s\n", $error ['Code'] );
              printf ( "Message:%s\n", $error ['Message'] );
       }
} catch ( Obs\Common\ObsException $obsException ) {
       printf("StatusCode:%s\n", $obsException->getStatusCode());
}