对象相关接口 功能说明 (本接口目前仅支持部分资源池使用,如需使用,请联系天翼云客服确认。) DeleteObjects操作可以实现通过一个请求批量删除多个对象的功能,可以减少发起多起请求去删除大量对象的花销。DeleteObjects操作发起一个包含了最多1000个对象的删除请求,对象存储服务会对相应的对象逐个进行删除,并且将删除成功或者失败的结果通过response返回。如果请求删除的对象不存在,会当作已删除处理。 DeleteObjects操作返回verbose和quiet两种response模式。 verbose response是默认的返回模式,该模式的返回结果包含了每个key的删除结果。quiet response返回模式返回的结果仅包含了删除失败的key,对于一个完全成功的删除操作,该返回模式不在相应消息体中返回任何信息。 代码示例 plaintext using System; using System.Threading.Tasks; using Amazon.Runtime; using Amazon.S3; using Amazon.S3.Model; namespace DotNetSDK.ObjectOperation { public class DeleteObjectsExample { public static async Task DeleteObjects() { var accessKey " "; var secretKey " "; var endpoint " "; var bucketName " "; try { var credentials new BasicAWSCredentials(accessKey, secretKey); var conf new AmazonS3Config { ServiceURL endpoint }; var s3Client new AmazonS3Client(credentials, conf); DeleteObjectsRequest deleteObjectsRequest new DeleteObjectsRequest() { BucketName bucketName, Quiet false }; deleteObjectsRequest.AddKey(" "); deleteObjectsRequest.AddKey(" "); var result await s3Client.DeleteObjectsAsync(deleteObjectsRequest); Console.WriteLine("HttpStatusCode:{0}, {1}", (int) result.HttpStatusCode, result.HttpStatusCode); //打印删除成功的对象信息 foreach (var deletedObject in result.DeletedObjects) { Console.WriteLine("Key:{0}, DeleteMarker:{1}, VersionId:{2}, DeleteMarkerVersionId:{3}.", deletedObject.Key, deletedObject.DeleteMarker, deletedObject.VersionId, deletedObject.DeleteMarkerVersionId); } //打印删除失败的对象信息 foreach (var deleteError in result.DeleteErrors) { Console.WriteLine("Code:{0}, Key:{1}, Message:{2}, VersionId:{3}", deleteError.Code, deleteError.Key, deleteError.Message, deleteError.VersionId); } } catch (Exception e) { Console.WriteLine(e.Message); } } } }
来自: