You need to enable JavaScript to run this app.
Torch Object Storage

Torch Object Storage

Copy page
Download PDF
List Objects
Listing Multi-Version Objects (Android SDK)
Copy page
Download PDF
Listing Multi-Version Objects (Android SDK)
The listObjectVersions API enables the enumeration of versioned object information within a bucket, returning up to 1,000 versioned objects per request.​
Parameter Description​
​
Parameters​
Description​
prefix​
The prefix of the current query results.​
delimiter​
Character used for grouping object names.​
keyMarker​
The starting point for the enumeration of objects in this instance.​
encodingType​
Returns the key encoding type.​
Default value: None​
maxKeys​
Maximum number of results to return.​
versionIdMarker​
Version number pagination identifier.​
​
List all multi-version objects​
The following code demonstrates how to list all multi-version objects with pagination.​
​
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.ListObjectVersionsV2Input;​
import com.volcengine.tos.model.object.ListObjectVersionsV2Output;​
import com.volcengine.tos.model.object.ListedDeleteMarkerEntry;​
​
public class ListObjectVersionsLoopExample 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";​
int maxKeys = 1000;​
​
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{​
boolean isTruncated = true;​
String keyMarker = "";​
String versionIDMarker = "";​
int total = 0;​
while (isTruncated) {​
ListObjectVersionsV2Input input = new ListObjectVersionsV2Input()​
​
.setBucket(bucketName).setMaxKeys(maxKeys)​
.setKeyMarker(keyMarker).setVersionIDMarker(versionIDMarker);​
ListObjectVersionsV2Output output = tos.listObjectVersions(input);​
Log.i("listObjectVersions", "listObjectVersions succeed, is truncated? " + output.isTruncated() +​
"next key marker is " + output.getNextKeyMarker() + "next version id marker is" +​
output.getNextVersionIDMarker());​
if (output.getDeleteMarkers() != null) {​
for (int i = 0; i < output.getDeleteMarkers().size(); i++) {​
ListedDeleteMarkerEntry entry = output.getDeleteMarkers().get(i);​
Log.i("listObjectVersions", "No." + (i+1+total) + " listed entry is " + entry);​
}​
total += output.getDeleteMarkers().size();​
}​
isTruncated = output.isTruncated();​
keyMarker = output.getNextKeyMarker();​
versionIDMarker = output.getVersionIDMarker();​
}​
​
} catch (TosException e) {​
Log.e("TosException", "listObjectVersions failed");​
e.printStackTrace();​
}​
}​
});​
​
tosThread.start();​
}​
}​
​
Relevant Documentation​
For API documentation on listing multi-version objects, refer to ListObjectsVersions.​
Last updated: 2025.09.25 14:23:26