Aviso:

Para brindarle información de soporte completa de manera más rápida, el contenido de esta página ha sido traducido al español mediante traducción automática. Para consultar la información de soporte más precisa, consulte la versión en inglés de este contenido.

Listar objetos en un Bucket

Listar todos los objetos por paginación

Este método del SDK te permitirá obtener todos los objetos presentes en un bucket particular por paginación. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente.

Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección

En cada llamada, se devolverá un número limitado de objetos, y la siguiente llamada se iniciará solo si se devuelve un token de continuación.

Parámetros utilizados

Nombre del parámetro Tipo de dato Definición
maxKey String Un parámetro obligatorio. Contendrá el límite máximo de objetos que se pueden listar por paginación.
nextToken String Un parámetro obligatorio. Contendrá el token para obtener el siguiente conjunto de objetos.
prefix String Un parámetro opcional. Para listar objetos que coincidan con el valor del prefijo.
orderBy String Un parámetro opcional. Para listar objetos en orden ascendente o descendente. Valor predeterminado: asc

La respuesta que obtendremos contendrá las siguientes propiedades del bucket, que se almacenarán en moreOptions:

  • key count: Contendrá el valor del número de objetos que se están devolviendo
  • max keys: El límite máximo de objetos que se pueden devolver
  • Truncated: Contendrá el estado para notificar si un bucket está truncado o no.
  • contents: Lista de detalles de objetos
  • continuation_token: Si enviaste un continuation_token en la solicitud, se mostrará en la respuesta.
  • next_continuation_token: Si la respuesta fue truncada, el valor de esta clave debe pasarse como continuation_token al mismo método para recuperar el siguiente conjunto de objetos.

Con cada iteración, listaremos el número maxKey de objetos y verificaremos si se ha creado nextToken. Usando nextToken continuaremos la iteración hasta que se hayan listado todos los objetos.

Asegúrate de que los siguientes paquetes estén importados:

copy
import com.zc.component.stratus.ZCBucket;
import com.zc.component.stratus.ZCStratus;
import com.zc.component.stratus.beans.ZCListObjectOptions;
import com.zc.component.stratus.beans.ZCPagedObjectResponse;
import com.zc.component.stratus.ZCObject;
copy
String nextToken = null;
String maxKey = "10";
String prefix = "Sam";
do {
    ZCListObjectOptions options = new ZCListObjectOptions();
    options.setMaxKey(maxKey); // Por defecto: 1000
    options.setContinuationToken(nextToken); // Obtener la siguiente página
    options.setFolderListing("true"); // Por defecto: false
    options.setOrderBy("desc"); // Por defecto: "asc"
    options.setPrefix(prefix); // Opcional
    ZCPagedObjectResponse res = bucket.listPagedObjects(options);
    System.out.println("Object count: " + res.getKeyCount());
    System.out.println("Max key: " + res.getMaxKey());
    System.out.println("Is truncated: " + res.getTruncated());
    for (ZCObject key : res.getContents()) {
        System.out.println("Object name: " + key.getKey());
        System.out.println("Content type: " + key.getContentType());
        System.out.println("Size: " + key.getSize());
        System.out.println("Metadata: " + key.getMetaData());
        System.out.println("Version ID: " + key.getVersionId());
        System.out.println("ETag: " + key.getEtag());
        System.out.println("Object type: " + key.getKeyType());
        System.out.println("Cached URL: " + key.getCachedUrl());
    }
    nextToken = res.getNextToken();
} while (nextToken != null);

Listar objetos mediante iteración

Usando este método del SDK, puedes obtener todos los objetos presentes en un bucket en una sola llamada API, usando la técnica de iteración. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente.

Info: Para usar este método del SDK, necesitas inicializarlo con el scope Admin. Puedes obtener más información sobre este requisito en esta sección

Asegúrate de que los siguientes paquetes estén importados:

copy
import java.util.Iterator;
import com.zc.component.stratus.ZCObject;
import com.zc.component.stratus.beans.ZCListObjectOptions;
import java.util.List;
copy
ZCListObjectOptions options = new ZCListObjectOptions();
options.setFolderListing("true"); // Por defecto: false
options.setMaxKey("2");           // Por defecto: 1000
options.setOrderBy("desc");       // Por defecto: "asc"
// Obtener lista de objetos iterable
Iterable<List<ZCObject>> paginationIterable = bucket.listIterableObjects(options);
Iterator<List<ZCObject>> iterator = paginationIterable.iterator();
while (iterator.hasNext()) {
    List<lZCObject> objectList = iterator.next();
    for (ZCObject obj : objectList) {
        System.out.println(obj.getKey());
    }
}

Última actualización 2026-03-30 13:40:30 +0530 IST