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 en particular mediante paginación. La referencia de Bucket utilizada en el siguiente fragmento de código es la instancia del componente.
Info: Para utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección
Para 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 |
|---|---|---|
| max_keys | String | Un parámetro obligatorio. Contendrá el límite máximo de objetos que se pueden listar por paginación. |
| continuation_token | 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. |
| order_by | String | Un parámetro opcional. Para listar objetos en orden ascendente o descendente. Valor predeterminado: asc |
| folder_listing | String | Un parámetro opcional. Para elegir listar solo los objetos del nivel raíz en el bucket o listar todos los objetos presentes en todas las rutas del bucket. Valor predeterminado: false Por ejemplo, si estableces el valor como true; solo se listarán los objetos del nivel raíz. Si estableces el valor como false; se listarán todos los objetos presentes en todas las rutas del bucket |
copy
# Definir una función recursiva para listar objetos del bucket usando paginación
def list_my_paged_objects(max_keys=None, prefix=None, next_token=None):
# Obtener una lista paginada de objetos del bucket con las opciones especificadas
data = bucket.list_paged_objects(
max_keys, # Número máximo de objetos a obtener en esta llamada
prefix, # Filtrar objetos que comienzan con este prefijo
next_token, # Token de continuación para obtener la siguiente página de resultados
folder_listing=True, # Listar objetos en una estructura tipo carpeta
order_by='desc' # Ordenar objetos en orden descendente (más recientes primero)
)
# Imprimir la lista de objetos obtenidos
print(data['contents'])
# Verificar si hay más objetos disponibles (la paginación aún no está completa)
if data['truncated']:
# Llamar recursivamente a la función para obtener la siguiente página de objetos
list_my_paged_objects(max_keys, prefix, data['next_continuation_token'])
#Iniciar la lista de objetos con un tamaño de página de 2
list_my_paged_objects(2, 'sam')
Respuesta de ejemplo
copy
{
"prefix": "sam",
"key_count": "5",
"max_keys": "5",
"truncated": "True",
"next_continuation_token": "47VrqTzR9ukMF9gr8YcziVVzdRP5GCjq1NfM5fMBpMfvw5qcXFRSueuqCTRUCzNd9dHfquXHi2afDanLH6MbyJo6",
"contents": [
{
"key_type": "file",
"key": "sam1s2ww.mp4",
"size": "427160684",
"content_type": "video/mp4",
"etag": "78c2b173b56cd944e9c79abd601f6073",
"last_modified": "May 21, 2024 01:00 PM"
},
{
"key_type": "file",
"key": "samdm.txt",
"size": "23",
"content_type": "text/plain; charset=utf-8",
"etag": "c0122754f465e42eb97b5af174663c29",
"last_modified": "May 14, 2024 01:30 PM"
},
{
"key_type": "file",
"key": "samplvbse1.json",
"size": "8",
"content_type": "application/json",
"etag": "499e7dbaee453352a9c17407a676dbda",
"last_modified": "May 13, 2024 10:05 AM"
},
{
"key_type": "file",
"key": "samplse1.json",
"size": "8",
"content_type": "application/json",
"etag": "499e7dbaee453352a9c17407a676dbda",
"last_modified": "May 13, 2024 09:20 AM"
},
{
"key_type": "file",
"key": "sampjkhdldbed.mp4",
"size": "0",
"content_type": "video/mp4",
"etag": "d41d8cd98f00b204e9800998ecf8427e",
"last_modified": "May 12, 2024 10:54 PM"
}
]
}
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, utilizando 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 utilizar este método del SDK, necesitas inicializarlo con el alcance Admin. Puedes obtener más información sobre este requisito en esta sección
copy
# Listar objetos del bucket usando paginación iterable con las opciones especificadas
objects = bucket.list_iterable_objects(
max_keys=5, # Número máximo de objetos a obtener por lote (predeterminado es 1000)
prefix='sam', # Filtrar objetos que comienzan con este prefijo
folder_listing=True, # Listar objetos en una estructura tipo carpeta (predeterminado es False)
order_by='desc' # Ordenar objetos en orden descendente (predeterminado es 'asc')
)
#Iterar e imprimir cada clave de objeto
for key in objects:
print(key)
Respuesta de ejemplo
copy
{
"key_type": "file",
"key": "ssdgs.mp4",
"size": "3145728",
"content_type": "video/mp4",
"etag": "9685b8d5b8b719274bac854b897d95ec",
"last_modified": "May 21, 2024 03:49 PM"
}
{
"key_type": "file",
"key": "Sasss.mp4",
"size": "2674",
"content_type": "video/mp4",
"etag": "24c1122087e9be930ff1e957e83f5224",
"last_modified": "May 21, 2024 02:55 PM"
}
{
"key_type": "file",
"key": "Samfplessss.mp4",
"size": "2674",
"content_type": "video/mp4",
"etag": "24c1122087e9be930ff1e957e83f5224",
"last_modified": "May 21, 2024 02:52 PM"
}
{
"key_type": "file",
"key": "demo.mp4",
"size": "3400",
"content_type": "video/mp4",
"etag": "24e957e83f5224c1122087e9be930ff1",
"last_modified": "May 21, 2024 02:52 PM"
}
{
"key_type": "file",
"key": "performance.mp4",
"size": "1454",
"content_type": "video/mp4",
"etag": "087e9be930ff124c1122e957e83f5224",
"last_modified": "May 21, 2024 02:52 PM"
}
Última actualización 2026-03-30 13:40:30 +0530 IST
Yes
No
Send your feedback to us
Skip
Submit