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
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_attemptskonfigurasi. -
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_attemptskonfigurasi. -
DynamoDB memiliki nilai default 9 untuk upaya coba ulang maksimum, membuat total 10 upaya panggilan. Nilai ini dapat diganti melalui parameter
max_attemptskonfigurasi. -
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