import com.volcengine.tos.TOSV2;
import com.volcengine.tos.TOSV2ClientBuilder;
import com.volcengine.tos.TosClientException;
import com.volcengine.tos.TosServerException;
import com.volcengine.tos.model.object.*;
import java.util.ArrayList;
public class DeleteMultiObjectsWithVersionsExample {
public static void main(String[] args) {
String endpoint = "your endpoint";
String region = "your region";
String accessKey = System.getenv("TOS_ACCESS_KEY");
String secretKey = System.getenv("TOS_SECRET_KEY");
String bucketName = "bucket-example";
String objectKey = "example_dir/example_object.txt";
String versionId = "the version id of objectKey";
String objectKey1 = "example_dir/example_object_1.txt";
String versionId1 = "the version id of objectKey1";
String objectKey2 = "example_dir/example_object_2.txt";
String versionId2 = "the version id of objectKey2";
TOSV2 tos = new TOSV2ClientBuilder().build(region, endpoint, accessKey, secretKey);
List<ObjectTobeDeleted> objs = new ArrayList<>();
objs.add(new ObjectTobeDeleted().setKey(objectKey).setVersionID(versionId));
objs.add(new ObjectTobeDeleted().setKey(objectKey1).setVersionID(versionId1));
objs.add(new ObjectTobeDeleted().setKey(objectKey2).setVersionID(versionId2));
DeleteMultiObjectsV2Input input = new DeleteMultiObjectsV2Input().setBucket(bucketName).setObjects(objs);
DeleteMultiObjectsV2Output output = tos.deleteMultiObjects(input);
System.out.println("deleteMultiObjects succeed.");
if (output.getDeleteds() != null) {
for (int i = 0; i < output.getDeleteds().size(); i++){
Deleted deleted = output.getDeleteds().get(i);
System.out.println("deleted object is " + deleted);
if (output.getErrors() != null) {
for (int i = 0; i < output.getErrors().size(); i++){
DeleteError error = output.getErrors().get(i);
System.out.println("delete error is " + error);
} catch (TosClientException e) {
System.out.println("deleteMultiObjects failed");
System.out.println("Message: " + e.getMessage());
if (e.getCause() != null) {
e.getCause().printStackTrace();
} catch (TosServerException e) {
System.out.println("deleteMultiObjects failed");
System.out.println("StatusCode: " + e.getStatusCode());
System.out.println("Code: " + e.getCode());
System.out.println("Message: " + e.getMessage());
System.out.println("RequestID: " + e.getRequestID());
System.out.println("deleteMultiObjects failed");
System.out.println("unexpected exception, message: " + t.getMessage());