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.
Il existe principalement deux manières de contrôler la pagination à partir du AWS 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 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-paginate
option 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-items
option. 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.
Téléavertisseur côté client
AWS CLI la 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 duconfig
fichier dans le profildefault
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 laAWS_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'identification dans le AWS CLI.
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 définir la variable d'AWS_PAGERenvironnement
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, consultezConfiguration des variables d'environnement pour AWS CLI.
Comment utiliser l'no-cli-pageroption --
Pour désactiver l'utilisation d'un téléavertisseur sur une seule commande, utilisez l'--no-cli-pager
option. Pour plus d'informations sur les options de ligne de commande, consultezOptions de ligne de commande dans AWS CLI.
$
aws s3api list-objects \ --bucket amzn-s3-demo-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
.