批量删除对象
功能说明
批量删除指定桶中的多个对象。
方法定义
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()); }