警告 削除されたオブジェクトは回復できないため、慎重に操作を実行する必要があります。

オブジェクトの削除

単一のオブジェクトを削除するには、次のコードを実行します。

// This example uses endpoint China East 1 (Hangzhou). Specify the actual endpoint based on your requirements.
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// It is highly risky to log on with AccessKey of an Alibaba Cloud account because the account has permissions on all the APIs in OSS. We recommend that you log on as a RAM user to access APIs or perform routine operations and maintenance. To create a RAM account, log on to https://ram.console.aliyun.com.
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
String bucketName = "<yourBucketName>";
String objectName = "<yourObjectName>";

// Create an OSSClient instance.
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);

// Delete an object.
ossClient.deleteObject(bucketName, objectName);

// Close your OSSClient.
ossClient.shutdown();

複数のオブジェクトの削除

一度に最大 1,000 個のオブジェクトを削除できます。 オブジェクトの削除には、詳細 (verbose) と簡易 (quiet) モードの 2 つのモードがあります。

  • verbose: 削除に成功したオブジェクトの一覧を返します。 デフォルトのモードは、verbose です。
  • quiet: 削除に失敗したオブジェクトのリストを返します。

次の表では、DeleteObjectsRequest パラメーターを解説します。

パラメータ 説明 設定方法
Keys 削除したいオブジェクトを指定します。 setKeys(List<String>)
quiet 削除結果を指定します。 True は、quiet を示します。 False は、verbose を示します。 デフォルトモードでは、verbose が設定されています。 setQuiet(boolean)
encodingType 返却されるオブジェクトの名前のエンコードです。 HTTPS のみがサポートされます。 setEncodingType(String)

以下の表は、DeleteObjectsResult パラメーターを解説します。

パラメータ 説明 設定方法
deletedObjects 削除結果を指定します。verbose は、削除に成功したオブジェクトの一覧を示します。quiet: 削除に失敗したオブジェクトのリストを示します。 List<String> getDeletedObjects()
encodingType deletedObjects 内のオブジェクトの名前のエンコード。 getEncodingType()

複数のオブジェクトを一括で削除するには、次のコードを実行します。

// This example uses endpoint China East 1 (Hangzhou). Specify the actual endpoint based on your requirements.
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// It is highly risky to log on with AccessKey of an Alibaba Cloud account because the account has permissions on all the APIs in OSS. We recommend that you log on as a RAM user to access APIs or perform routine operations and maintenance. To create a RAM account, log on to https://ram.console.aliyun.com.
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
String bucketName = "<yourBucketName>";

// Create an OSSClient instance.
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);

// Delete objects.
List<String> keys = new ArrayList<String>();
keys.add("key0");
keys.add("key1");
keys.add("key2");

DeleteObjectsResult deleteObjectsResult = ossClient.deleteObjects(new DeleteObjectsRequest(bucketName).withKeys(keys));
List<String> deletedObjects = deleteObjectsResult.getDeletedObjects();

// Close your OSSClient.
ossClient.shutdown();

複数のオブジェクトを一括で削除するための完全なコードは、『GitHub』をご参照ください。