Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menggunakan mode debug upgrade untuk memutakhirkan AWS CLI versi 1 ke AWS CLI versi 2
Kami merekomendasikan agar pengguna AWS CLI versi 1 meningkatkan ke AWS CLI versi 2 untuk mengakses fitur baru dan meningkatkan kinerja. Ada perubahan perilaku antara AWS CLI versi 1 dan AWS CLI versi 2 yang mungkin mengharuskan Anda memperbarui skrip atau perintah untuk mendapatkan perilaku yang sama. Mode debug pemutakhiran di AWS CLI versi 1 mengeluarkan peringatan saat Anda menggunakan fitur yang memiliki perilaku berbeda di AWS CLI versi 2. Fitur ini meningkatkan pengalaman peningkatan dengan secara otomatis mendeteksi perintah AWS CLI versi 1 Anda yang perlu dimodifikasi sebelum memutakhirkan ke CLI versi 2 AWS untuk mencegah masalah yang tidak terduga.
Untuk detail selengkapnya, lihat Memecahkan perubahan antara AWS CLI versi 1 dan AWS CLI versi 2.
Saat Anda memutakhirkan dari AWS CLI versi 1 ke versi 2, Anda mungkin mengalami hal Memecahkan perubahan antara AWS CLI versi 1 dan AWS CLI versi 2 itu memengaruhi skrip dan alur kerja yang ada. Mode debug upgrade membantu Anda mengidentifikasi masalah ini sebelum menyelesaikan migrasi.
Mode debug upgrade mendeteksi saat Anda menggunakan fitur yang memiliki perubahan besar pada AWS CLI versi 2. Saat Anda menjalankan perintah yang akan rusak setelah memutakhirkan, mode menampilkan peringatan dengan langkah-langkah khusus untuk memperbaiki masalah. Ini menghemat waktu Anda dengan secara otomatis menemukan potensi masalah alih-alih mencari kode Anda secara manual.
Cara kerjanya
Jika diaktifkan, mode debug pemutakhiran mendeteksi penggunaan fitur yang diperbarui dengan perubahan yang melanggar pada AWS CLI versi 2. Jika Anda menggunakan perintah atau fitur yang tercantum di kami Memecahkan perubahan antara AWS CLI versi 1 dan AWS CLI versi 2 setelah memutakhirkan ke AWS CLI versi 2, peringatan akan ditampilkan di output. Deteksi perubahan yang melanggar didasarkan pada perintah yang digunakan, argumen yang diberikan, lingkungan eksekusi (misalnya variabel lingkungan, pengaturan konfigurasi, dll.), Dan untuk beberapa kasus, konten atau konfigurasi sumber daya dalam AWS akun yang digunakan.
Contoh berikut menunjukkan seperti apa peringatan ini. Perintah ini menunjukkan contoh peringatan. Semua teks peringatan dimulai dengan "AWS CLI V2 UPGRADE WARNING,” diikuti oleh pesan peringatan khusus. Dalam hal ini, peringatan adalah output karena perintah bergantung pada AWS CLI untuk mengambil konten URL dan menggunakan konten sebagai nilai parameter, yang merupakan --template-body fitur yang dihapus dalam AWS CLI versi 2.
Contoh berikut menunjukkan seperti apa peringatan itu:
$ aws cloudformation create-stack \ --stack-name "stack012345" \ --template-body "https://s3.amazonaws.com/amzn-s3-demo-bucket/template.json" AWS CLI v2 UPGRADE WARNING: For input parameters that have a prefix of http:// or https://, AWS CLI v2 will not automatically request the content of the URL for the parameter, and the `cli_follow_urlparam` option has been removed. See https://docs.aws.amazon.com/cli/latest/userguide/cliv2-migration-changes.html#cliv2-migration-paramfile.
Tabel berikut dari semua perubahan yang melanggar, dan cara menghindari menghadapi perubahan yang melanggar di AWS CLI versi 2. Tindakan remediasi yang menyelesaikan peringatan dalam mode debug dicetak tebal.
| Melanggar perubahan | Pada v1, bermigrasi ke perilaku v2 | Pada v2, pertahankan perilaku v1 |
|---|---|---|
| Variabel lingkungan ditambahkan untuk mengatur pengkodean file teks | Hapus pengaturan variabel PYTHONUTF8 dan PYTHONIOENCODING lingkungan. |
Atur variabel AWS_CLI_FILE_ENCODING lingkungan ke pengkodean yang ditentukan dalam v1. |
| Parameter biner dilewatkan sebagai string yang dikodekan base64 secara default | Encode nilai parameter dengan base64. Jika parameter sedang dimuat dari file, encode isi file dengan base64. | Atur cli_binary_format pengaturan keraw-in-base64-out. |
| Peningkatan penanganan Amazon S3 dari properti file dan tag untuk salinan multipart | N/A. Tidak dapat bermigrasi ke perilaku versi 2 di versi 1. | Gunakan parameter --copy-props none. |
| Tidak ada pengambilan otomatis http:// atau https:// URLs untuk parameter | Gunakan curl (atau alat alternatif) untuk mengunduh konten URLs ke file lokal. Kemudian, muat konten file ke parameter dengan file://. Atau, konfigurasikan cli_follow_urlparam ke false untuk menentukan URL mentah sebagai nilai paramater. |
N/A. Mustahil untuk mempertahankan perilaku versi 1 di versi 2. |
| Pager digunakan untuk semua output secara default | N/A. Tidak dapat bermigrasi ke perilaku versi 2 di versi 1. | Atur cli_pager pengaturan atau AWS_PAGER variabel ke string kosong. |
| Nilai keluaran stempel waktu distandarisasi ke format ISO 8601 | Setel pengaturan cli_timestamp _format keiso8601. |
Atur cli_timestamp_format pengaturan ke kawat. |
| Peningkatan penanganan CloudFormation penerapan yang tidak menghasilkan perubahan | Gunakan --no-fail-on-empty-changeset parameter. |
Gunakan parameter --fail-on-empty-changeset. |
| Mengubah perilaku default untuk titik akhir Amazon S3 Regional untuk Wilayah us-east-1 | Atur variabel AWS_ENDPOINT_URL_S3 lingkungan atau opsi baris --endpoint-url perintah ke URL regional us-east-1. |
Gunakan opsi baris --region aws-global perintah. |
| ecr get-logindihapus dan diganti dengan ecr get-login-password | (1.17.10 atau yang lebih baru) Gunakan ecr get-logindihapus dan diganti dengan ecr get-login-password dan salurkan output ke perintah docker. | N/A. Mustahil untuk mempertahankan perilaku versi 1 di versi 2. |
| AWS CLI dukungan versi 2 untuk plugin berubah | N/A. Tidak dapat bermigrasi ke perilaku versi 2 di versi 1. | Konfigurasikan cli_legacy_plugin_path ke bagian file konfigurasi. [plugins] Uji plugin di versi 2, kunci versi 2 Anda, dan uji plugin Anda setiap kali Anda meningkatkan. |
| Dukungan alias tersembunyi dihapus | Beralih dari menggunakan alias tersembunyi usang ke Dukungan alias tersembunyi dihapus yang berfungsi di semua versi. | N/A. Mustahil untuk mempertahankan perilaku versi 1 di versi 2. |
| Pengaturan file api_versions konfigurasi tidak didukung | Migrasikan dan uji penggunaan versi API lama Anda ke versi API terbaru, dan hapus api_versions dari pengaturan konfigurasi Anda. | N/A. Mustahil untuk mempertahankan perilaku versi 1 di versi 2. |
| AWS CLI versi 2 hanya menggunakan Signature v4 untuk mengautentikasi permintaan Amazon S3 | Tentukan Versi Tanda Tangan ke versi 4 (lihat Menentukan Versi Tanda Tangan dalam otentikasi permintaan). | N/A. Mustahil untuk mempertahankan perilaku versi 1 di versi 2. |
| AWS CLI versi 2 lebih konsisten dengan parameter paging | Pindahkan parameter pagination dalam parameter input JSON ke perintah itu sendiri. | Hapus parameter pagination dari parameter input JSON. |
| AWS CLI versi 2 menyediakan kode pengembalian yang lebih konsisten di semua perintah | N/A. Tidak dapat bermigrasi ke perilaku versi 2 di versi 1. | N/A. Mustahil untuk mempertahankan perilaku versi 1 di versi 2. |
Batasan
Kami sangat menyarankan pelanggan meninjau kamiMemecahkan perubahan antara AWS CLI versi 1 dan AWS CLI versi 2.
Deteksi Perubahan Breaking Tidak Didukung
Fitur mode debug upgrade mendukung setiap perubahan yang melanggar kecuali ituAWS CLI versi 2 menyediakan kode pengembalian yang lebih konsisten di semua perintah. Mode ini tidak dapat menjelaskan bagaimana Anda menggunakan kode kesalahan yang dikembalikan oleh AWS CLI hilir.
Deteksi Perubahan Pemutusan Bersyarat
Deteksi Nilai keluaran stempel waktu distandarisasi ke format ISO 8601 adalah satu-satunya kasus di mana deteksi tergantung pada status AWS akun, dan dapat mengalami perubahan yang melanggar jika sumber daya akun diperbarui kemudian. Jika tidak ada stempel waktu yang disertakan dalam respons API dari layanan, tidak ada deteksi yang akan dilakukan untuk perubahan yang melanggar ini.
Jika Anda mengandalkan format stempel waktu yang dikembalikan oleh perintah AWS CLI dan belum mengonfigurasi AWS CLI untuk menggunakan ISO 8601, lakukan tindakan pencegahan ekstra untuk memastikan pemrosesan stempel waktu Anda tidak akan rusak setelah memutakhirkan ke versi 2.
Deteksi Perubahan yang Tidak Dapat Dipecahkan
Beberapa keluaran peringatan dengan mode debug upgrade tidak dapat diselesaikan dengan memodifikasi perintah atau lingkungan. Kasus berikut adalah kasus di mana peringatan akan selalu dikeluarkan oleh mode debug upgrade selama Anda menggunakan fitur yang sesuai:
-
AWS CLI dukungan versi 2 untuk plugin berubah- jika Anda mengandalkan plugin di file konfigurasi Anda, mode debug upgrade akan selalu mengeluarkan peringatan yang tidak dapat diselesaikan. Mode ini tidak dapat menjamin apakah plugin Anda akan berfungsi di AWS CLI versi 2.
-
Peningkatan penanganan Amazon S3 dari properti file dan tag untuk salinan multipart - jika
aws s3digunakan untuk melakukan salinan bucket-to-bucket Amazon S3 Amazon, mode debug upgrade akan selalu mengeluarkan peringatan yang tidak dapat diselesaikan.
Deteksi palsu
Peringatan yang dikeluarkan oleh mode debug pemutakhiran tidak menjamin bahwa perubahan yang melanggar akan dihadapi setelah memutakhirkan ke CLI AWS v2. Di bawah ini adalah kasus di mana peringatan akan dikeluarkan oleh mode debug pemutakhiran, meskipun tidak ada perubahan yang melanggar yang diperkenalkan di CLI v2 AWS :
-
Variabel lingkungan ditambahkan untuk mengatur pengkodean file teks- jika variabel
PYTHONUTF8atauPYTHONIOENCODINGlingkungan ditentukan untuk mengatur pengkodean file teks, dan pengkodean yang ditentukan sudah cocok dengan lokal yang diinstal, peringatan mungkin deteksi palsu karena mode debug tidak memeriksa apakah pengkodean cocok dengan lokal yang diinstal. -
Peningkatan penanganan Amazon S3 dari properti file dan tag untuk salinan multipart - jika
aws s3digunakan untuk melakukan salinan bucket-to-bucket Amazon S3 Amazon, dan salinannya tidak multipart karena objek sumber berada di bawah ukuran ambang multipart, deteksi palsu akan dihasilkan. -
Nilai keluaran stempel waktu distandarisasi ke format ISO 8601- jika pengaturan konfigurasi cli_timestamp_format diatur ke kawat (default), dan stempel waktu dalam format ISO 8601 dikembalikan oleh layanan.
-
Peningkatan penanganan CloudFormation penerapan yang tidak menghasilkan perubahan- jika
--fail-on-empty-changesetflag digunakan denganaws cloudformation deployperintah, dan changeset yang dihasilkan kosong, deteksi palsu akan menjadi output. Juga, jika changeset tidak kosong, dan tidak--no-fail-on-empty-changesetdigunakan, deteksi palsu akan menjadi output. -
Mengubah perilaku default untuk titik akhir Amazon S3 Regional untuk Wilayah us-east-1- jika
aws s3atauaws s3apidigunakan untuk melakukan operasi Amazon S3 Amazon, dan wilayah dikonfigurasi keus-east-1, dan konfigurasi tidaks3.us_east_1_regional_endpointdikonfigurasi ke regional, dan titik akhir Amazon S3 global digunakan untuk permintaan karena pengaturan konfigurasi titik akhir, maka peringatan mungkin deteksi palsu, karena mode debug tidak memeriksa pengaturan titik akhir yang dikonfigurasi.
Konfigurasikan mode debug upgrade
Anda dapat mengaktifkan atau menonaktifkan mode debug upgrade menggunakan metode berikut, yang tercantum dalam urutan prioritas:
-
Opsi baris perintah mengaktifkan atau menonaktifkan mode debug upgrade untuk satu perintah. Gunakan --v2-debug untuk menggunakan mode debug upgrade.
-
Variabel lingkungan menggunakan variabel AWS_CLI_UPGRADE_DEBUG_MODE.