He eliminado muchos archivos y quiero ejecutar el comando list en mi bucket de Amazon Simple Storage Service (Amazon S3). Sin embargo, el comando list deja de responder y no devuelve ningún resultado.
Resolución
Si has eliminado una gran cantidad de archivos y el comando ls o list-objects deja de responder, sigue estos pasos para solucionar el problema:
Eliminación de marcadores de eliminación de objetos que vencieron
En un bucket con control de versiones activado, cuando usas la operación de eliminación para un objeto versionado y no especificas un ID de versión, se crea un marcador de eliminación. Cuando las reglas de configuración del ciclo de vida establecen que las versiones anteriores de los objetos venzan, el bucket contiene los marcadores de eliminación que están asociados a los objetos vencidos. Si hay miles de marcadores de eliminación, es posible que se agote el tiempo de espera de la operación de lista. Por lo tanto, se recomienda eliminar del bucket los marcadores de eliminación de objetos vencidos para mejorar el rendimiento de una operación de lista.
Para limpiar eficazmente los marcadores de eliminación de objetos vencidos, utiliza una regla de ciclo de vida:
- Abre la consola de Amazon S3.
- En la lista de buckets, elige el bucket que contiene los marcadores de eliminación de objetos vencidos.
- Elige la pestaña Administración.
- Elige Agregar regla de ciclo de vida e introduce un nombre de regla. Después, selecciona Siguiente.
- En Transición de la clase de almacenamiento, omite esta sección y elige Siguiente.
- En Configurar la fecha de vencimiento, elige Limpiar los marcadores de eliminación de objetos vencidos. Después, selecciona Siguiente.
- Revisa la configuración de las reglas del ciclo de vida y, a continuación, selecciona Guardar.
Prueba del comando list-objects-v2 o la versión más reciente de la AWS CLI
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de errores de la AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.
El comando list-objects-v2, o la llamada a la API ListObjectsV2, es una versión actualizada de la operación de lista que incluye algunas mejoras de rendimiento. El siguiente comando de ejemplo solicita una lista de objetos en awsexamplebucket:
aws s3api list-objects-v2 --bucket awsexamplebucket
Nota: Por motivos de compatibilidad con versiones anteriores, Amazon S3 sigue admitiendo la llamada a la API ListObjects.
Uso de un informe de Amazon S3 Inventory
En lugar de una operación de lista, utiliza un informe de Amazon S3 Inventory para obtener una lista de tus objetos. Cuando ejecutas varias operaciones de lista para un bucket que tiene cientos de millones de objetos, el proceso puede resultar difícil y costoso.
Puedes obtener informes de Amazon S3 Inventory diarios o semanales para un bucket o un prefijo, e incluir metadatos de objetos adicionales en los informes. También puedes pasar un informe de inventario como entrada para una operación por lotes y usar Amazon Athena para consultar un informe.
Información relacionada
Precios de Amazon S3