J'ai supprimé un grand nombre de fichiers et j'essaie d'exécuter la commande list sur mon compartiment Amazon Simple Storage Service (Amazon S3). Cependant, la commande list cesse de répondre et ne renvoie aucune sortie.
Résolution
Si vous avez supprimé un grand nombre de fichiers et que la commande ls ou list-objects ne répond plus, suivez les étapes de résolution des problèmes suivantes :
Supprimer les marqueurs de suppression d'objets expirés
Dans un compartiment activé pour la gestion des versions, lorsque vous utilisez l'opération de suppression pour un objet versionné et que vous ne spécifiez pas d'ID de version, un marqueur de suppression est créé. Lorsque les règles de configuration du cycle de vie définissent l'expiration des versions précédentes des objets, le compartiment contient les marqueurs de suppression associés aux objets expirés. S'il existe des milliers de marqueurs de suppression, il peut arriver que l'opération de liste expire. Il est donc recommandé de supprimer les marqueurs de suppression d'objets expirés du compartiment afin d'améliorer les performances d'une opération de liste.
Pour nettoyer efficacement les marqueurs de suppression d'objets expirés, utilisez une règle de cycle de vie :
- Ouvrez la console Amazon S3.
- Dans la liste des compartiments, choisissez celui dont les marqueurs de suppression d'objets ont expiré.
- Choisissez l'onglet Gestion.
- Choisissez Ajouter une règle de cycle de vie et saisissez un nom de règle. Ensuite, choisissez Suivant.
- Pour le champ Transition de classe de stockage, ignorez cette section et choisissez Suivant.
- Pour le champ Configurer l'expiration, choisissez Nettoyer les marqueurs de suppression des objets expirés. Ensuite, choisissez Suivant.
- Vérifiez les paramètres de la règle de cycle de vie, puis choisissez Enregistrer.
Essayer la commande list-objects-v2 ou la dernière version de l'interface d'AWS CLI
Remarque : si des erreurs surviennent lorsque vous exécutez des commandes de l'interface de la ligne de commande AWS (AWS CLI), consultez la page Résoudre les erreurs liées à AWS CLI. Vérifiez également que vous utilisez la version la plus récente d'AWS CLI.
La commande list-objects-v2 ou l'appel d'API ListObjectsV2 est une version mise à jour de l'opération de liste qui inclut des améliorations de performances. L'exemple de commande suivant demande une liste d'objets dans awsexamplebucket :
aws s3api list-objects-v2 --bucket awsexamplebucket
Remarque : pour des raisons de rétrocompatibilité, Amazon S3 continue de prendre en charge l'appel d'API ListObjects.
Utiliser un rapport d'inventaire Amazon S3
Au lieu d'exécuter une opération de liste, vous pouvez utiliser un rapport d'inventaire Amazon S3 pour obtenir une liste de vos objets. Lorsque vous exécutez plusieurs opérations de liste pour un compartiment contenant des centaines de millions d'objets, le processus peut s'avérer complexe et coûteux.
Vous pouvez obtenir des rapports d'inventaire Amazon S3 quotidiens ou hebdomadaires pour un compartiment ou un préfixe, mais aussi inclure des métadonnées d'objet supplémentaires dans vos rapports. En outre, vous pouvez transmettre un rapport d'inventaire en tant qu'entrée pour une opération par lot, et vous pouvez utiliser Amazon Athena pour interroger un rapport.
Informations connexes
Tarification Amazon S3