Usa las opciones de AWS CLI paginación - AWS Command Line Interface

Esta documentación es AWS CLI únicamente para la versión 1 de la versión. Para ver la documentación relacionada con la versión 2 de AWS CLI, consulte la Guía del usuario de la versión 2.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Usa las opciones de AWS CLI paginación

En este tema se describen las diferentes formas de paginar la salida de la AWS CLI.

Paginación del lado del servidor

En el caso de los comandos que pueden devolver una lista grande de elementos, the AWS Command Line Interface (AWS CLI) tiene varias opciones para controlar la cantidad de elementos que se incluyen en la salida cuando se AWS CLI llama a un servicio API para completar la lista.

De forma predeterminada, AWS CLI utiliza un tamaño de página determinado por el servicio individual y recupera todos los elementos disponibles. Por ejemplo, Simple Storage Service (Amazon S3) tiene un tamaño de página predeterminado de 1000. Si ejecuta aws s3api list-objects en un bucket de Simple Storage Service (Amazon S3) que contiene 3500 objetos, AWS CLI realiza cuatro llamadas a Simple Storage Service (Amazon S3) y se encarga de administrar por usted la lógica de paginación específica del servicio en segundo plano y de devolver los 3500 objetos en la salida final.

Cómo usar el parámetro —no-paginate

La opción --no-paginate desactiva los siguientes tokens de paginación en el lado del cliente. Cuando se utiliza un comando, de forma predeterminada realiza varias llamadas AWS CLI automáticamente para obtener todos los resultados posibles y crear una paginación. Una llamada por cada página. Al deshabilitar la paginación, AWS CLI solo se llama una vez a la primera página de resultados del comando.

Por ejemplo, si aws s3api list-objects ejecuta un bucket de Amazon S3 que contiene 3500 objetos, AWS CLI solo realizará la primera llamada a Amazon S3 y devolverá solo los primeros 1000 objetos del resultado final.

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

Cómo usar el parámetro —page-size

Si observa algún problema al ejecutar los comandos de la lista en un gran número de recursos, el tamaño de página predeterminado puede ser demasiado grande. Esto puede provocar que las llamadas a los AWS servicios superen el tiempo máximo permitido y generar un error de «tiempo de espera agotado». Puede usar la --page-size opción para especificar que se AWS CLI solicite un número menor de elementos por cada llamada al AWS servicio. AWS CLI Sigue recuperando la lista completa, pero realiza un mayor número de API llamadas de servicio en segundo plano y recupera un número menor de elementos con cada llamada. Esto ofrece a las llamadas individuales una mayor posibilidad de que tengan éxito sin que se agote el tiempo de espera. Cambiar el tamaño de la página no afecta al resultado; solo afecta al número de API llamadas que hay que realizar para generar el resultado.

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

Cómo usar el parámetro —max-items

Para incluir menos elementos a la vez en la AWS CLI salida, utilice la --max-items opción. AWS CLI Sigue gestionando la paginación con el servicio tal y como se ha descrito anteriormente, pero solo imprime el número de elementos que especifique cada vez.

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

Cómo usar el parámetro —starting-token

Si el número de elementos de output (--max-items) es inferior al número total de elementos devueltos por las API llamadas subyacentes, el resultado incluye un elemento NextToken que puede pasar a un comando posterior para recuperar el siguiente conjunto de elementos. En el siguiente ejemplo se muestra cómo usar el valor NextToken devuelto por el ejemplo anterior y le permite recuperar los segundos 100 elementos.

nota

El parámetro --starting-token no puede ser nulo ni está vacío. Si el comando anterior no devuelve un valor NextToken, no hay más elementos para devolver y no es necesario llamar al comando de nuevo.

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

Es posible que el AWS servicio especificado no devuelva los artículos en el mismo orden cada vez que llames. Si especifica diferentes valores para --page-size y --max-items, puede obtener resultados inesperados en el que faltan elementos o están duplicados. Para evitar esto, utilice el mismo número con --page-size y --max-items para sincronizar la paginación de la AWS CLI con la del servicio subyacente. También puede recuperar la lista completa y realizar las operaciones de paginación necesarias de forma local.