À l'aide des options de pagination du AWS CLI - AWS Command Line Interface

Cette documentation concerne AWS CLI uniquement la version 1. Pour la documentation relative à la version 2 du AWS CLI, consultez le guide de l'utilisateur de la version 2.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

À l'aide des options de pagination du AWS CLI

Cette rubrique décrit les différentes méthodes de pagination de la sortie à partir du AWS CLI.

Pagination côté serveur

Pour les commandes qui peuvent renvoyer une longue liste d'éléments, le AWS Command Line Interface (AWS CLI) dispose de plusieurs options pour contrôler le nombre d'éléments inclus dans la sortie lorsqu'il AWS CLI appelle un service API pour remplir la liste.

Les options disponibles sont les suivantes :

Par défaut, il AWS CLI utilise un format de page déterminé par le service individuel et récupère tous les éléments disponibles. Par exemple, Amazon S3 a une taille de page par défaut de 1 000. Si vous exécutez aws s3api list-objects un paquet Amazon S3 contenant 3 500 objets, il passe AWS CLI automatiquement quatre appels à Amazon S3, gérant la logique de pagination spécifique au service pour vous en arrière-plan et renvoyant les 3 500 objets dans le résultat final.

Comment utiliser le paramètre --no-paginate

L'--no-paginateoption désactive les jetons de pagination suivants côté client. Lorsque vous utilisez une commande, par défaut, elle effectue AWS CLI automatiquement plusieurs appels pour renvoyer tous les résultats possibles afin de créer une pagination. Un appel par page. La désactivation de la pagination AWS CLI ne nécessite qu'une seule fois la première page des résultats de commande.

Par exemple, si vous exécutez aws s3api list-objects un bucket Amazon S3 contenant 3 500 objets, AWS CLI seul le premier appel est envoyé à Amazon S3, renvoyant uniquement les 1 000 premiers objets dans le résultat final.

$ aws s3api list-objects \ --bucket amzn-s3-demo-bucket \ --no-paginate { "Contents": [ ...

Comment utiliser le paramètre --page-size

Si vous rencontrez des problèmes lors de l'exécution de commandes de liste sur un grand nombre de ressources, la taille de page par défaut est peut-être trop élevée. Cela peut entraîner un dépassement de la durée maximale autorisée pour les appels aux AWS services et générer une erreur de « expiration du délai imparti ». Vous pouvez utiliser cette --page-size option pour spécifier que le AWS CLI nombre d'éléments demandés à chaque appel au AWS service est réduit. Il récupère AWS CLI toujours la liste complète, mais effectue un plus grand nombre d'APIappels de service en arrière-plan et récupère un plus petit nombre d'éléments à chaque appel. Cela donne aux appels individuels une plus grande chance de réussite sans délai d'expiration. La modification du format de page n'affecte pas la sortie ; elle affecte uniquement le nombre d'APIappels à effectuer pour générer la sortie.

$ aws s3api list-objects \ --bucket amzn-s3-demo-bucket \ --page-size 100 { "Contents": [ ...

Comment utiliser le paramètre --max-items

Pour inclure moins d'éléments à la fois dans la AWS CLI sortie, utilisez l'--max-itemsoption. Le gère AWS CLI toujours la pagination avec le service comme décrit précédemment, mais n'imprime que le nombre d'éléments que vous spécifiez à la fois.

$ aws s3api list-objects \ --bucket amzn-s3-demo-bucket \ --max-items 100 { "NextToken": "eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ==", "Contents": [ ...

Comment utiliser le paramètre --starting-token

Si le nombre d'éléments output (--max-items) est inférieur au nombre total d'éléments renvoyés par les API appels sous-jacents, la sortie inclut un NextToken que vous pouvez transmettre à une commande suivante pour récupérer le prochain ensemble d'éléments. L'exemple suivant montre comment utiliser la valeur NextToken renvoyée par l'exemple précédent et vous permet de récupérer la deuxième centaine d'éléments.

Note

Le paramètre --starting-token ne peut pas être nul ou vide. Si la commande précédente ne renvoie pas de valeur NextToken, il n'y a plus aucun élément à renvoyer et vous ne devez plus rappeler la commande.

$ aws s3api list-objects \ --bucket amzn-s3-demo-bucket \ --max-items 100 \ --starting-token eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ== { "Contents": [ ...

Le AWS service spécifié peut ne pas retourner les articles de la même commande à chaque fois que vous appelez. Si vous spécifiez des valeurs différentes pour les codes --page-size et --max-items, vous pouvez obtenir des résultats inattendus avec des éléments manquants ou des doublons. Pour empêcher que cela ne se produise, utilisez le même nombre pour les codes --page-size et --max-items, afin de synchroniser la pagination de l' AWS CLI et celle du service sous-jacent. Vous pouvez également extraire la liste complète et exécuter les opérations de pagination nécessaires localement.