View a markdown version of this page

AWS CLI mencoba lagi di AWS CLI - AWS Command Line Interface

Dokumentasi ini AWS CLI hanya untuk Versi 1.

Kami mengumumkan akhir dukungan yang akan datang untuk AWS CLI versi 1. Kami menyarankan Anda bermigrasi ke AWS CLI versi 2. Untuk tanggal, detail tambahan, dan informasi tentang cara bermigrasi, lihat pengumuman. 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.

AWS CLI mencoba lagi di AWS CLI

Topik ini menjelaskan bagaimana panggilan ke AWS layanan AWS CLI mungkin gagal karena masalah yang tidak terduga. Masalah ini dapat terjadi di sisi server atau mungkin gagal karena pembatasan tarif dari AWS layanan yang Anda coba panggil. Kegagalan semacam ini biasanya tidak memerlukan penanganan khusus dan panggilan dilakukan secara otomatis lagi, seringkali setelah masa tunggu yang singkat. Ini AWS CLI menyediakan banyak fitur untuk membantu dalam mencoba kembali panggilan klien ke AWS layanan ketika kesalahan atau pengecualian semacam ini dialami.

Mode coba lagi yang tersedia

Ini AWS CLI memiliki beberapa mode untuk dipilih tergantung pada versi Anda:

Mode coba ulang standar

Standardmode adalah seperangkat aturan coba ulang standar di seluruh AWS SDK dengan fungsionalitas lebih dari lama dan merupakan mode default untuk AWS CLI versi 2. Mode standar dibuat untuk AWS CLI versi 2 dan di-backport ke AWS CLI versi 1. Fungsi mode standar meliputi:

  • Nilai default 2 untuk upaya coba ulang maksimum, membuat total 3 upaya panggilan. Nilai ini dapat diganti melalui parameter max_attempts konfigurasi.

  • Coba lagi untuk daftar yang diperluas berikut ini: errors/exceptions

    • Transien errors/exceptions

      • RequestTimeout

      • RequestTimeoutException

      • PriorRequestNotComplete

      • ConnectionError

      • HTTPClientError

    • Service-side throttling/limit kesalahan dan pengecualian:

      • Throttling

      • ThrottlingException

      • ThrottledException

      • RequestThrottledException

      • TooManyRequestsException

      • ProvisionedThroughputExceededException

      • TransactionInProgressException

      • RequestLimitExceeded

      • BandwidthLimitExceeded

      • LimitExceededException

      • RequestThrottled

      • SlowDown

      • EC2ThrottledException

  • Coba lagi mencoba pada kode kesalahan sementara yang nondeskriptif. Secara khusus, kode status HTTP ini: 500, 502, 503, 504.

  • Setiap upaya coba lagi akan menyertakan mundur eksponensial dengan faktor dasar 2 untuk waktu mundur maksimum 20 detik.

Mode coba lagi lama(default)

Legacymode adalah mode default untuk AWS CLI versi 1, dan menggunakan handler percobaan ulang yang lebih lama dengan fungsionalitas terbatas yang meliputi:

  • Nilai default 4 untuk upaya coba ulang maksimum, membuat total 5 upaya panggilan. Nilai ini dapat diganti melalui parameter max_attempts konfigurasi.

  • DynamoDB memiliki nilai default 9 untuk upaya coba ulang maksimum, membuat total 10 upaya panggilan. Nilai ini dapat diganti melalui parameter max_attempts konfigurasi.

  • Coba lagi untuk jumlah terbatas berikut: errors/exceptions

    • Kes socket/connection alahan umum:

      • ConnectionError

      • ConnectionClosedError

      • ReadTimeoutError

      • EndpointConnectionError

    • Service-side throttling/limit kesalahan dan pengecualian:

      • Throttling

      • ThrottlingException

      • ThrottledException

      • RequestThrottledException

      • ProvisionedThroughputExceededException

  • Coba lagi mencoba beberapa kode status HTTP, termasuk 429, 500, 502, 503, 504, dan 509.

  • Setiap upaya coba lagi akan menyertakan mundur eksponensial dengan faktor dasar 2.

Mode coba ulang adaptif

Awas

Mode adaptif adalah mode eksperimental dan dapat berubah, baik dalam fitur maupun perilaku.

Adaptivemode coba ulang adalah mode percobaan ulang eksperimental yang mencakup semua fitur mode standar. Selain fitur mode standar, mode adaptif juga memperkenalkan pembatasan laju sisi klien melalui penggunaan bucket token dan variabel batas laju yang diperbarui secara dinamis dengan setiap upaya coba lagi. Mode ini menawarkan fleksibilitas dalam percobaan ulang sisi klien yang menyesuaikan dengan respons error/exception status dari layanan. AWS

Dengan setiap upaya coba ulang baru, mode adaptif memodifikasi variabel batas laju berdasarkan kesalahan, pengecualian, atau kode status HTTP yang disajikan dalam respons dari layanan. AWS Variabel batas laju ini kemudian digunakan untuk menghitung tarif panggilan baru untuk klien. Setiap respon HTTP exception/error atau tidak berhasil (disediakan dalam daftar di atas) dari AWS layanan memperbarui variabel batas laju saat percobaan ulang terjadi hingga keberhasilan tercapai, bucket token habis, atau nilai upaya maksimum yang dikonfigurasi tercapai.

Mengkonfigurasi mode coba lagi

Ini AWS CLI mencakup berbagai konfigurasi coba ulang serta metode konfigurasi untuk dipertimbangkan saat membuat objek klien Anda.

Metode konfigurasi yang tersedia

Di dalamnya AWS CLI, pengguna dapat mengonfigurasi percobaan ulang dengan cara berikut:

  • Variabel lingkungan

  • AWS CLI file konfigurasi

Pengguna dapat menyesuaikan opsi coba ulang berikut:

  • Mode Coba Ulang - Menentukan mode coba lagi yang digunakan. AWS CLI Seperti dijelaskan sebelumnya, ada tiga mode coba lagi yang tersedia: warisan, standar, dan adaptif. Nilai default untuk AWS CLI versi 1 adalah .

  • Maksimum upaya - Menentukan nilai upaya coba ulang maksimum yang digunakan pen AWS CLI angan coba ulang, di mana panggilan awal dihitung terhadap nilai yang Anda berikan. Nilai default didasarkan pada mode coba ulang Anda.

Mendefinisikan konfigurasi coba lagi di variabel lingkungan Anda

Untuk menentukan konfigurasi coba ulang untuk AWS CLI, perbarui variabel lingkungan sistem operasi Anda.

Variabel lingkungan coba lagi adalah:

  • AWS_RETRY_MODE

  • AWS_MAX_ATTEMPTS

Untuk informasi lebih lanjut tentang variabel lingkungan, lihatMengkonfigurasi variabel lingkungan untuk AWS CLI.

Melihat log upaya coba lagi

Menggunakan AWS CLI metodologi coba ulang Boto3 dan logging. Anda dapat menggunakan --debug opsi pada perintah apa pun untuk menerima log debug. Untuk informasi selengkapnya tentang cara menggunakan --debug opsi, lihatOpsi baris perintah di AWS CLI.

Jika Anda mencari “coba lagi” di log debug Anda, Anda akan menemukan informasi percobaan ulang yang Anda butuhkan. Entri log klien untuk upaya coba lagi bergantung pada mode coba ulang yang telah Anda aktifkan.

Modus warisan:

Pesan coba ulang dihasilkan oleh botocore.retryhandler. Anda akan melihat salah satu dari tiga pesan:

  • No retry needed

  • Retry needed, action of: <action_name>

  • Reached the maximum number of retry attempts: <attempt_number>

Mode standar atau adaptif:

Pesan coba ulang dihasilkan oleh botocore.retries.standard. Anda akan melihat salah satu dari tiga pesan:

  • No retrying request

  • Retry needed, retrying request after delay of: <delay_value>

  • Retry needed but retry quota reached, not retrying request

Untuk file definisi lengkap percobaan ulang botocore, lihat _retry .json di Repositori botocore. GitHub