Utiliser les AWS CLI options de pagination - AWS Command Line Interface

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.

Utiliser les AWS CLI options de pagination

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

Il existe principalement deux manières de contrôler la pagination à partir duAWS CLI.

Les paramètres de pagination côté serveur traitent en premier et toute sortie est envoyée à la pagination côté client.

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 l'API d'un service 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 qui contient 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 my-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 des appels vers des services AWS dépassant le délai maximum autorisé et générer une erreur « expirée ». Vous pouvez utiliser l'option --page-size pour spécifier que l'AWS CLI demande un plus petit nombre d'éléments de chaque appel au service AWS. Il récupère AWS CLI toujours la liste complète, mais exécute un plus grand nombre d'appels d'API 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. Modifier la taille de la page n'affecte pas la sortie ; cela affecte uniquement le nombre d'appels d'API qui doivent être effectués pour générer la sortie.

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

Comment utiliser le paramètre --max-items

Pour inclure moins d'éléments à la fois dans la sortie d'iAWS CLI, utilisez l'option --max-items. L'AWS CLI gère toujours la pagination avec le service comme décrite ci-dessus, mais imprime uniquement le nombre d'éléments à un instant que vous spécifiez.

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

Comment utiliser le paramètre --starting-token

Si le nombre d’éléments en sortie (--max-items) est inférieur au nombre total d’éléments renvoyés par les appels d'API sous-jacents, la sortie inclut un code NextToken que vous pouvez transmettre dans une commande suivante pour extraire 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 my-bucket \ --max-items 100 \ --starting-token eyJNYXJrZXIiOiBudWxsLCAiYm90b190cnVuY2F0ZV9hbW91bnQiOiAxfQ== { "Contents": [ ...

Le service AWS spécifié peut renvoyer des éléments dans un ordre différent à 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.

Téléavertisseur côté client

AWS CLIla version 2 fournit l'utilisation d'un programme de téléavertisseur côté client pour la sortie. Par défaut, cette fonctionnalité renvoie toutes les sorties via le programme de pager par défaut de votre système d'exploitation.

Par ordre de priorité, vous pouvez définir le pager de sortie de la manière suivante :

  • En utilisant le cli_pager paramètre du config fichier dans le profil default ou nommé.

  • À l'aide de la variable d'environnement AWS_PAGER.

  • À l'aide de la variable d'environnement PAGER.

Par ordre de priorité, vous pouvez désactiver toute utilisation d'un programme de pagination externe de la manière suivante :

  • Utilisez l'option de ligne de --no-cli-pager commande pour désactiver le pager pour une seule commande.

  • Définissez le cli_pager paramètre ou la AWS_PAGER variable sur une chaîne vide.

Sujets relatifs aux pagers côté client :

Comment utiliser le paramètre cli_pager

Vous pouvez enregistrer vos paramètres de configuration utilisés fréquemment et vos informations d'identification dans les fichiers qui sont gérés par l'AWS CLI. Les paramètres d'un profil de nom ont priorité sur les paramètres du default profil. Pour plus d'informations sur les paramètres de configuration, consultezParamètres des fichiers de configuration et d'informations d'identification.

L'exemple suivant définit le pager de sortie par défaut sur le less programme.

[default] cli_pager=less

L'exemple suivant définit la valeur par défaut pour désactiver l'utilisation d'un pager.

[default] cli_pager=

Comment utiliser la variable d'environnement AWS_PAGER

L'exemple suivant définit le pager de sortie par défaut sur le less programme. Pour plus d'informations sur les variables d'environnement, consultezVariables d'environnement pour configurer le AWS CLI.

Linux and macOS
$ export AWS_PAGER="less"
Windows
C:\> setx AWS_PAGER "less"

L'exemple suivant désactive l'utilisation d'un pager.

Linux and macOS
$ export AWS_PAGER=""
Windows
C:\> setx AWS_PAGER ""

Comment utiliser l'no-cli-pageroption --

Pour désactiver l'utilisation d'un téléavertisseur sur une seule commande, utilisez l'--no-cli-pageroption. Pour plus d'informations sur les options de ligne de commande, consultezOptions de ligne de commande.

$ aws s3api list-objects \ --bucket my-bucket \ --no-cli-pager { "Contents": [ ...

Comment utiliser les drapeaux de téléavertisseur

Vous pouvez définir des drapeaux à utiliser automatiquement avec votre programme de pagination. Les drapeaux dépendent du programme de pagination que vous utilisez. Les exemples ci-dessous concernent les valeurs par défaut typiques de less etmore.

Linux and macOS

Si vous ne spécifiez pas le contraire, le téléavertisseur utilisé par défaut par la AWS CLI version 2 estless. Si la variable d'LESSenvironnement n'est pas définie, la AWS CLI version 2 utilise les FRX drapeaux. Vous pouvez combiner des drapeaux en les spécifiant lors de la configuration du AWS CLI pager.

L'exemple suivant utilise le S drapeau. Ce drapeau se combine ensuite avec les FRX drapeaux par défaut pour créer un FRXS drapeau final.

$ export AWS_PAGER="less -S"

Si vous ne voulez aucun des FRX drapeaux, vous pouvez les annuler. L'exemple suivant annule le F drapeau pour créer un RX drapeau final.

$ export AWS_PAGER="less -+F"

Pour plus d'informations sur les less drapeaux, voir moins sur manpages.org.

Windows

Si vous ne spécifiez pas le contraire, le téléavertisseur utilisé par défaut par la AWS CLI version 2 ne more comporte aucun indicateur supplémentaire.

L'exemple suivant utilise le /c paramètre.

C:\> setx AWS_PAGER "more /c"

Pour plus d'informations sur les more drapeaux, consultez Microsoft Docs.