通过 deleteObject 接口,可以删除指定的对象。通过 deleteMultiObjects 接口,可以删除指定列表内的一批对象。
参数 | 描述 |
---|---|
versionID | 版本号,如果桶开启多版本功能,可以携带此参数删除指定版本对象。 |
以下代码展示如何删除对象。
import android.os.Bundle; import android.util.Log; import androidx.appcompat.app.AppCompatActivity; import com.volcengine.tos.TOSV2; import com.volcengine.tos.TOSV2ClientBuilder; import com.volcengine.tos.TosException; import com.volcengine.tos.model.object.DeleteObjectInput; import com.volcengine.tos.model.object.DeleteObjectOutput; public class DeleteObjectExample extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { String endpoint = "your endpoint"; String region = "your region"; String accessKey = "your access key"; String secretKey = "your secret key"; String securityToken = "your security token"; String bucketName = "your bucket name"; String objectKey = "your object key"; // 如果桶开启了多版本功能,可以指定版本号删除对象 String versionID = "the specific version id"; super.onCreate(savedInstanceState); setContentView(R.layout.activity_display_message); TOSV2 tos = new TOSV2ClientBuilder().build(region, endpoint, accessKey, secretKey, securityToken); Thread tosThread = new Thread(new Runnable() { @Override public void run() { try{ DeleteObjectInput input = new DeleteObjectInput().setBucket(bucketName).setKey(objectKey); DeleteObjectOutput output = tos.deleteObject(input); // 如果桶开启了多版本功能,可以指定版本号删除对象 input.setVersionID(versionID); Log.i("deleteObject", "succeed, " + output); } catch (TosException e) { Log.e("TosException", "deleteObject failed"); e.printStackTrace(); } } }); tosThread.start(); } }
以下代码展示如何批量删除对象。
import android.os.Bundle; import android.util.Log; import androidx.appcompat.app.AppCompatActivity; import com.volcengine.tos.TOSV2; import com.volcengine.tos.TOSV2ClientBuilder; import com.volcengine.tos.TosException; import com.volcengine.tos.model.object.DeleteError; import com.volcengine.tos.model.object.DeleteMultiObjectsV2Input; import com.volcengine.tos.model.object.DeleteMultiObjectsV2Output; import com.volcengine.tos.model.object.Deleted; import com.volcengine.tos.model.object.ObjectTobeDeleted; import java.util.ArrayList; import java.util.List; public class DeleteMultiObjectsExample extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { String endpoint = "your endpoint"; String region = "your region"; String accessKey = "your access key"; String secretKey = "your secret key"; String securityToken = "your security token"; String bucketName = "your bucket name"; String objectKey = "your object key"; // 可选,如果桶开启了多版本功能,可以指定版本号删除对象 String versionID = "the specific version id"; String objectKey1 = "your object key"; // 可选,如果桶开启了多版本功能,可以指定版本号删除对象 String versionID1 = "the specific version id"; String objectKey2 = "your object key"; // 可选,如果桶开启了多版本功能,可以指定版本号删除对象 String versionID2 = "the specific version id"; super.onCreate(savedInstanceState); setContentView(R.layout.activity_display_message); TOSV2 tos = new TOSV2ClientBuilder().build(region, endpoint, accessKey, secretKey, securityToken); Thread tosThread = new Thread(new Runnable() { @Override public void run() { try{ 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); Log.i("deleteMultiObjects", "deleteMultiObjects succeed, request info is " + output.getRequestInfo()); if (output.getDeleteds() != null) { for (int i = 0; i < output.getDeleteds().size(); i++){ Deleted deleted = output.getDeleteds().get(i); Log.i("deleteMultiObjects", "No." + i + " deleted object is " + deleted); } } if (output.getErrors() != null) { for (int i = 0; i < output.getErrors().size(); i++){ DeleteError error = output.getErrors().get(i); Log.i("deleteMultiObjects", "No." + i + " delete error is " + error); } } } catch (TosException e) { Log.e("TosException", "deleteMultiObjects failed"); e.printStackTrace(); } } }); tosThread.start(); } }
关于删除对象的 API 文档,请参见 DeleteObject。