批量删除对象
功能说明
批量删除指定桶中的多个对象。
方法定义
ObsClient.deleteObjects
请求参数
字段名 |
类型 |
约束 |
说明 |
|
---|---|---|---|---|
Bucket |
String |
必选 |
桶名。 |
|
Objects |
Array |
必选 |
待删除的对象列表。 |
|
Key |
String |
必选 |
待删除对象的名称。 |
|
VersionId |
String |
可选 |
待删除对象的版本号。 |
|
Quiet |
Boolean |
可选 |
批量删除对象的响应方式,false表示详细模式,返回删除成功和删除失败的所有结果;true表示简单模式,只返回删除过程中出错的结果。 |
返回结果(InterfaceResult)
字段名 |
类型 |
说明 |
|
---|---|---|---|
RequestId |
String |
OBS服务端返回的请求ID。 |
|
Deleteds |
Array |
删除成功的对象列表。 |
|
Key |
String |
删除成功的对象名。 |
|
VersionId |
String |
删除成功的对象版本号。 |
|
DeleteMarker |
String |
标识删除的对象是否是删除标记。 |
|
DeleteMarkerVersionId |
String |
删除标记的版本号。 |
|
Errors |
Array |
删除失败的对象列表。 |
|
Key |
String |
删除失败的对象名。 |
|
VersionId |
String |
删除失败的对象版本号。 |
|
Code |
String |
删除失败的错误码。 |
|
Message |
String |
删除失败的错误消息。 |
代码样例
obsClient.deleteObjects({ Bucket:'bucketname', Quiet:false, Objects:[{Key:'objectkey'},{Key:'objectkey2'}] },(err, result) => { if(err){ console.error('Error-->' + err); }else{ if(result.CommonMsg.Status < 300){ console.log('RequestId-->' + result.InterfaceResult.RequestId); console.log('Deleteds:'); for(let i=0;i<result.InterfaceResult.Deleteds.length;i++){ console.log('Deleted[' + i + ']:'); console.log('Key-->'+result.InterfaceResult.Deleteds[i]['Key']); console.log('VersionId-->' + result.InterfaceResult.Deleteds[i]['VersionId']); console.log('DeleteMarker-->' + result.InterfaceResult.Deleteds[i]['DeleteMarker']); console.log('DeleteMarkerVersionId-->' + result.InterfaceResult.Deleteds[i]['DeleteMarkerVersionId']); } console.log('Errors:'); for(let i=0;i<result.InterfaceResult.Errors.length;i++){ console.log('Error[' + i + ']:'); console.log('Key-->' + result.InterfaceResult.Errors[i]['Key']); console.log('VersionId-->' + result.InterfaceResult.Errors[i]['VersionId']); console.log('Code-->' + result.InterfaceResult.Errors[i]['Code']); console.log('Message-->' + result.InterfaceResult.Errors[i]['Message']); } }else{ console.log('Code-->' + result.CommonMsg.Code); console.log('Message-->' + result.CommonMsg.Message); } } });