Menggunakan opsi pagination di AWS CLI - AWS Command Line Interface

Dokumentasi ini AWS CLI hanya untuk Versi 1. Untuk dokumentasi yang terkait dengan Versi 2 AWS CLI, lihat Panduan Pengguna Versi 2.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan opsi pagination di AWS CLI

Topik ini menjelaskan berbagai cara untuk melakukan paginasi output dari. AWS CLI

Pagination sisi server

Untuk perintah yang dapat mengembalikan daftar item yang besar, AWS Command Line Interface (AWS CLI) memiliki beberapa opsi untuk mengontrol jumlah item yang disertakan dalam output saat AWS CLI panggilan layanan API untuk mengisi daftar.

Secara default, AWS CLI menggunakan ukuran halaman yang ditentukan oleh layanan individu dan mengambil semua item yang tersedia. Misalnya, Amazon S3 memiliki ukuran halaman default 1000. Jika Anda menjalankan aws s3api list-objects bucket Amazon S3 yang berisi 3.500 objek, AWS CLI secara otomatis membuat empat panggilan ke Amazon S3, menangani logika pagination khusus layanan untuk Anda di latar belakang dan mengembalikan semua 3.500 objek di output akhir.

Cara menggunakan parameter --no-paginate

--no-paginateOpsi ini menonaktifkan token pagination berikut di sisi klien. Saat menggunakan perintah, secara default AWS CLI secara otomatis membuat beberapa panggilan untuk mengembalikan semua hasil yang mungkin untuk membuat pagination. Satu panggilan untuk setiap halaman. Menonaktifkan pagination memiliki AWS CLI satu-satunya panggilan sekali untuk halaman pertama hasil perintah.

Misalnya, jika Anda menjalankan aws s3api list-objects bucket Amazon S3 yang berisi 3.500 objek, AWS CLI satu-satunya yang membuat panggilan pertama ke Amazon S3, hanya mengembalikan 1.000 objek pertama dalam output akhir.

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

Cara menggunakan parameter --page-size

Jika Anda melihat masalah saat menjalankan perintah daftar pada sejumlah besar sumber daya, ukuran halaman default mungkin terlalu tinggi. Hal ini dapat menyebabkan panggilan ke AWS layanan melebihi waktu maksimum yang diizinkan dan menghasilkan kesalahan “waktu habis”. Anda dapat menggunakan --page-size opsi untuk menentukan bahwa AWS CLI permintaan sejumlah kecil item dari setiap panggilan ke AWS layanan. AWS CLI Masih mengambil daftar lengkap, tetapi melakukan lebih banyak API panggilan layanan di latar belakang dan mengambil sejumlah kecil item dengan setiap panggilan. Ini memberi panggilan individu kesempatan yang lebih baik untuk berhasil tanpa batas waktu. Mengubah ukuran halaman tidak mempengaruhi output; itu hanya mempengaruhi jumlah API panggilan yang perlu dilakukan untuk menghasilkan output.

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

Cara menggunakan parameter --max-items

Untuk memasukkan lebih sedikit item sekaligus dalam AWS CLI output, gunakan --max-items opsi. AWS CLI Masih menangani pagination dengan layanan seperti yang dijelaskan sebelumnya, tetapi hanya mencetak jumlah item pada waktu yang Anda tentukan.

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

Cara menggunakan parameter --starting-token

Jika jumlah item output (--max-items) lebih sedikit dari jumlah total item yang dikembalikan oleh API panggilan yang mendasarinya, output termasuk NextToken yang dapat Anda teruskan ke perintah berikutnya untuk mengambil set item berikutnya. Contoh berikut menunjukkan bagaimana menggunakan NextToken nilai yang dikembalikan oleh contoh sebelumnya, dan memungkinkan Anda untuk mengambil 100 item kedua.

catatan

Parameter --starting-token tidak bisa nol atau kosong. Jika perintah sebelumnya tidak mengembalikan NextToken nilai, tidak ada lagi item untuk dikembalikan dan Anda tidak perlu memanggil perintah lagi.

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

AWS Layanan yang ditentukan mungkin tidak mengembalikan item dalam urutan yang sama setiap kali Anda menelepon. Jika Anda menentukan nilai yang berbeda untuk --page-size dan--max-items, Anda bisa mendapatkan hasil yang tidak terduga dengan item yang hilang atau digandakan. Untuk mencegah hal ini, gunakan nomor yang sama untuk --page-size dan --max-items untuk menyinkronkan AWS CLI pagination dengan pagination dari layanan yang mendasarinya. Anda juga dapat mengambil seluruh daftar dan melakukan operasi paging yang diperlukan secara lokal.