Menggunakan Alat Migrasi AWS CLI v1-ke-v2 untuk meningkatkan CLI versi 1 ke CLI AWS versi 2 AWS - AWS Command Line Interface

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

Menggunakan Alat Migrasi AWS CLI v1-ke-v2 untuk meningkatkan CLI versi 1 ke CLI AWS versi 2 AWS

Topik ini menjelaskan Alat Migrasi AWS CLI v1-ke-v2.

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. Alat Migrasi AWS CLI v1-to-v2 menganalisis skrip bash yang berisi perintah AWS CLI versi 1 dan mendeteksi penggunaan fitur yang telah diperbarui dengan perubahan yang melanggar pada CLI versi 2. AWS Selain itu, alat ini dapat secara otomatis memodifikasi skrip Anda untuk memperbaiki sebagian besar masalah yang dideteksinya. Alat ini meningkatkan pengalaman peningkatan dengan secara otomatis mendeteksi dan memodifikasi perintah AWS CLI versi 1 dalam skrip bash untuk mencegah masalah tak terduga saat memutakhirkan ke versi 2.

Dibandingkan dengan Upgrade Debug Mode, AWS CLI v1-to-v2 Migration Tool adalah alat mandiri dan tidak memerlukan eksekusi perintah CLI. AWS Untuk perbandingan menyeluruh antara Upgrade Debug Mode dan AWS CLI v1-to-v2 Migration Tool lihat di. Menggunakan Alat Migrasi AWS CLI untuk Mengurangi Kerusakan Panduan migrasi untuk AWS CLI versi 2

Untuk detail lebih lanjut, lihat Memecahkan perubahan antara AWS CLI versi 1 dan AWS CLI versi 2 diFitur baru dan perubahan dalam AWS CLI versi 2.

Cara kerjanya

Alat Migrasi AWS CLI v1-to-v2 adalah paket Python yang mampu linting skrip bash yang menggunakan CLI versi 1. AWS Menjadi linter statis, itu tidak tergantung pada versi AWS CLI versi 1 yang mungkin telah Anda instal di mesin Anda. Linter dipanggil melalui baris perintah, di mana jalur file lokal ke skrip bash disediakan sebagai parameter.

Alat migrasi juga dapat secara otomatis menghasilkan skrip bash yang dimodifikasi yang menyelesaikan sebagian besar temuan yang dideteksi dengan memodifikasi perintah AWS CLI versi 1 yang digunakan dalam skrip. Alat migrasi memodifikasi perintah sehingga kompatibel dengan AWS versi 2 dan mempertahankan perilaku versi 1.

Untuk beberapa temuan, Alat Migrasi AWS CLI v1-ke-v2 dapat mendeteksi mereka tetapi tidak menawarkan perbaikan otomatis. Dalam kasus ini, alat migrasi menandai mereka sebagai deteksi yang memerlukan peninjauan manual.

Lihat Batasan daftar lengkap perubahan yang melanggar dan perbaikan otomatis yang didukung oleh Alat Migrasi AWS CLI v1-ke-v2.

Prasyarat

Python

Untuk menggunakan alat ini, Anda harus menginstal Python 3.9 atau yang lebih baru.

Untuk memverifikasi bahwa Anda memiliki versi Python yang benar diinstal, jalankan perintah berikut di terminal dan konfirmasikan output menunjukkan versi Python minimal 3.9.

$ python3 --version

Jika Anda memiliki versi Python yang lebih lama, atau tidak menginstal Python, Anda dapat mengunduh versi yang kompatibel dari halaman unduhan Python resmi.

pip

Selain menginstal versi Python yang kompatibel, Anda harus pip menginstal.

Untuk memverifikasi bahwa pip sudah diinstal, jalankan perintah berikut:

$ python3 -m pip --version

Jika Anda telah pip menginstal, Anda akan melihat output yang mirip dengan yang berikut:

pip 25.0.1 from ~/.local/lib/python3.13/site-packages (python 3.13)

Jika Anda belum pip menginstal, lihat Instal pip.

Penginstalan

Instal Alat Migrasi AWS CLI v1-ke-v2 di lingkungan virtual baru:

$ python3 -m venv .venv $ source .venv/bin/activate $ python3 -m pip install aws-cli-migrate

Penggunaan

Mode Jalankan kering (default)

Dengan mode dry-run, Anda dapat secara otomatis mendeteksi perintah AWS CLI versi 1 yang dapat merusak perubahan tanpa memodifikasi skrip input:

$ migrate-aws-cli --script upload_s3_files.sh

Mode Perbaikan Otomatis

Dengan mode perbaikan otomatis, Anda dapat secara otomatis mendeteksi dan memperbarui perintah AWS CLI versi 1 dalam skrip input untuk mengurangi kerusakan dari perubahan yang diperkenalkan di AWS CLI versi 2, jika memungkinkan:

$ migrate-aws-cli --script upload_s3_files.sh --fix

Secara opsional, Anda dapat menyediakan jalur output melalui --output parameter untuk menulis skrip yang diperbarui, daripada memperbarui skrip input:

$ migrate-aws-cli --script upload_s3_files.sh --output upload_s3_files_v2.sh --fix

Mode Interaktif

Dengan mode interaktif, Anda dapat secara otomatis mendeteksi perintah AWS CLI versi 1 yang dapat merusak perubahan. Sebagian besar temuan akan menunjukkan perbaikan yang disarankan untuk mengurangi kerusakan di CLI versi 2 AWS . Anda dapat meninjau perbaikan yang disarankan dan memutuskan apakah akan menerapkannya. Secara opsional, berikan jalur keluaran melalui --output parameter untuk mengontrol tempat menulis skrip yang diperbarui:

$ migrate-aws-cli --script upload_s3_files.sh --interactive \ --output upload_s3_files_v2.sh

Cuplikan keluaran berikut adalah contoh temuan dalam mode interaktif:

14 14│ 15 15│ aws s3 ls s3://mybucket 16 16│ 17 │-aws s3 cp s3://amzn-demo-bucket s3://amzn-demo-bucket2 --recursive 17│+aws s3 cp s3://amzn-demo-bucket s3://amzn-demo-bucket2 --recursive --copy-props none 18 18│ 19 19│ TEMPLATE_KEY="cloudformation/$(basename "$TEMPLATE_FILE")" 20 20│ examples/upload_s3_files.sh:17 [s3-copy] In AWS CLI v2, object properties will be copied from the source in multipart copies between S3 buckets. If a copy is or becomes multipart after upgrading to AWS CLI v2, extra API calls will be made. See https://docs.aws.amazon.com/cli/latest/userguide/cliv2-migration-changes.html#cliv2-migration-s3-copy-metadata. Apply this fix? [y] yes, [n] no, [a] accept all of type, [r] reject all of type, [u] update all, [s] save and exit, [q] quit:

Perbaikan yang disarankan ditampilkan dalam format yang mirip dengan perbedaan Git. Alat migrasi menyarankan penghapusan baris yang dimulai dengan a-, dan menyarankan menambahkan baris yang dimulai dengan a+. Pada contoh sebelumnya, saran dapat diartikan sebagai menambahkan --copy-props none parameter ke perintah AWS CLI versi 1 yang mengeksekusi salinan Amazon S3.

Untuk setiap perbaikan yang disarankan, Anda dapat memasukkan salah satu kontrol berikut:

  • Masuk y untuk menerima perbaikan yang disarankan.

  • Masukkan n untuk menolak perbaikan saat ini.

  • Masuk a untuk menerima semua perbaikan dengan jenis yang sama.

  • Masukkan r untuk menolak semua perbaikan dengan jenis yang sama.

  • Masuk u untuk menerima semua perbaikan yang tersisa.

  • Masuk s untuk menyimpan dan keluar.

  • Masuk q untuk berhenti tanpa menabung.

Beberapa temuan mungkin ditandai untuk tinjauan manual tanpa perbaikan yang disarankan. Anda harus meninjau temuan ini dan memverifikasi apakah Anda terpengaruh oleh perubahan melanggar yang direferensikan. Jika Anda terpengaruh oleh temuan ini, Anda harus mengikuti panduan yang ditentukan dalam deskripsi temuan untuk membuat perubahan yang diperlukan untuk menghindari atau mempersiapkan perubahan yang melanggar yang diperkenalkan dalam AWS CLI versi 2.

Batasan

Alat Migrasi AWS CLI v1-ke-v2 saat ini tidak mendukung setiap perubahan yang melanggar yang diperkenalkan dengan AWS CLI versi 2, dan memiliki kasus positif palsu di mana ia mengeluarkan deteksi untuk perintah bahkan jika tidak ada perubahan yang melanggar yang benar-benar akan dihadapi.

Kami sangat menyarankan pelanggan memahami Memecahkan perubahan antara AWS CLI versi 1 dan AWS CLI versi 2 dipublikasikan diFitur baru dan perubahan dalam AWS CLI versi 2.

Analisis Berbasis Teks

Alat migrasi menganalisis skrip Anda tanpa menjalankannya. Ini membatasi cara mendeteksi perintah AWS CLI untuk melanggar perubahan. Alat migrasi hanya dapat memeriksa teks perintah AWS CLI. Itu tidak dapat mendeteksi masalah yang muncul saat runtime, seperti menyimpan parameter usang dalam variabel alih-alih meneruskannya langsung ke CLI. AWS

Deteksi Perubahan Breaking Tidak Didukung

Tingkat dukungan untuk melanggar perubahan dalam alat migrasi dirangkum dalam tabel berikut.