All Products
Search
Document Center

Alibaba Cloud CLI:Migrasi dari CLI Alibaba Cloud versi lama ke versi berbasis plugin

Last Updated:Jun 03, 2026

Topik ini menjelaskan cara melakukan migrasi dari versi lama Alibaba Cloud CLI (sebelum 3.3.0) ke versi berbasis plugin.

Catatan

Panduan ini ditujukan bagi pengguna Alibaba Cloud CLI versi sebelum 3.3.0. Jika versi CLI Anda adalah 3.3.0 atau lebih baru—yang dapat Anda periksa dengan menjalankan aliyun version—Anda sudah menggunakan versi berbasis plugin dan tidak perlu melakukan migrasi.

Perbedaan antara versi berbasis plugin dan versi lama

Versi 3.3.0 memperkenalkan arsitektur plugin. Mulai dari versi ini, CLI menjalankan perintah layanan cloud melalui plugin. Versi sebelum 3.3.0 disebut sebagai versi "lama" di seluruh topik ini.

CLI versi lama merupakan proxy passthrough OpenAPI: nama perintah langsung menggunakan nama tindakan API (seperti DescribeInstances), dan parameter sesuai dengan parameter API (seperti --RegionId). Pada CLI berbasis plugin, setiap layanan cloud menyediakan perintah melalui plugin independen. Kedua versi menjalankan operasi layanan cloud yang sama, tetapi berbeda dalam nama perintah, nama parameter, dan format output.

Catatan

Kompatibilitas mundur: Setelah Anda meningkatkan ke versi 3.3.0 atau lebih baru, sintaks perintah lama tetap berfungsi. Anda dapat melakukan migrasi skrip ke perintah berbasis plugin sesuai kecepatan Anda—tidak perlu menulis ulang semuanya sekaligus.

Contoh perbandingan

Menggunakan API DescribeRegions sebagai contoh, perintah berbasis plugin adalah:

aliyun ecs describe-regions --accept-language zh-CN

Perintah lama adalah:

aliyun ecs DescribeRegions --AcceptLanguage zh-CN

Dalam contoh ini, satu-satunya perbedaan adalah konvensi penamaan. Namun, untuk perintah yang lebih kompleks, versi berbasis plugin mungkin sepenuhnya mendesain ulang nama parameternya. Misalnya, beberapa perintah menggunakan --biz-region-id alih-alih --region-id, yang bukan sekadar konversi huruf dari --RegionId versi lama. Saat melakukan migrasi, selalu periksa nama parameter yang benar dengan menjalankan <command> --help atau mencari di OpenAPI Explorer.

Perbedaan utama

Aspek

Lama (< 3.3.0)

Berbasis plugin (≥ 3.3.0)

Output bantuan

Dibuat otomatis dari metadata; hanya mencantumkan nama parameter

Dibangun ke dalam setiap plugin; mencakup rentang nilai dan contoh penggunaan

Pembaruan layanan

Tergantung pada rilis inti CLI; adopsi fitur layanan cloud baru lebih lambat

Plugin diperbarui secara independen; adopsi fitur layanan cloud baru lebih cepat

Pembaruan plugin

Memerlukan peningkatan seluruh CLI

Plugin individual diperbarui secara independen tanpa memengaruhi layanan lain

Nama perintah

Nama tindakan API (DescribeInstances)

Gaya kebab-case terpadu (describe-instances)

Nama parameter

Nama parameter API; gaya penulisan bervariasi (--RegionId)

Gaya kebab-case terpadu (--region-id)

Periksa versi saat ini

Jalankan perintah berikut untuk memeriksa nomor versi Anda. Jika versinya 3.3.0 atau lebih baru, CLI Anda mendukung perintah berbasis plugin. Jika versinya sebelum 3.3.0, Anda harus meningkatkan CLI terlebih dahulu.

aliyun version

Untuk memeriksa apakah perintah tertentu menggunakan versi berbasis plugin atau versi lama, jalankan aliyun <command> <sub-command> --help:

  • Versi berbasis plugin: Output bantuan mencakup bagian parameter global, dan nama parameter biasanya menggunakan gaya kebab-case (misalnya, --region-id).

  • Versi lama: Output bantuan hanya mencakup bagian parameter, dan nama parameter biasanya menggunakan gaya PascalCase (misalnya, --RegionId).

Temukan sintaks perintah berbasis plugin

Perintah berbasis plugin bukan sekadar penggantian nama perintah lama—Anda tidak dapat melakukan migrasi hanya dengan mengubah kapitalisasi huruf. Gunakan metode berikut untuk menemukan padanan berbasis plugin dari perintah lama.

Cari menggunakan OpenAPI Explorer

Saat Anda mengetahui nama perintah lama (yang merupakan nama tindakan API), ini adalah pendekatan paling langsung:

  1. Buka OpenAPI Explorer.

  2. Di kotak pencarian, masukkan nama perintah lama (misalnya, DescribeInstances). Hasil pencarian akan menampilkan daftar API yang sesuai.

  3. Klik API target untuk membuka halaman detailnya, isi nilai parameter yang diperlukan, lalu beralih ke tab CLI Example di sebelah kanan.

  4. Perintah berbasis plugin ditampilkan di bawah CLI Style (New), sedangkan perintah lama ditampilkan di bawah API Native Style (Old). Salin perintah baru untuk menggantikan perintah lama di skrip Anda.

Catatan

Beberapa produk cloud memiliki beberapa versi API. CLI berbasis plugin menggunakan parameter --api-version untuk menentukan versi API yang akan dipanggil. Saat membandingkan perintah baru dan lama di OpenAPI Explorer, pastikan memilih versi API yang sesuai dengan versi yang sedang Anda gunakan.

Jelajahi halaman utama CLI

Halaman utama CLI di OpenAPI Explorer mencantumkan semua perintah berbasis plugin yang didukung, dikelompokkan berdasarkan layanan cloud, lengkap dengan deskripsi parameternya.

Temukan perintah dengan --help

Setelah menginstal plugin layanan cloud, gunakan --help di setiap tingkat untuk menjelajahi perintah dan parameter yang tersedia. Misalnya, untuk melihat semua perintah plugin ECS:

aliyun ecs --help

Untuk melihat penggunaan dan parameter perintah tertentu:

aliyun ecs describe-instances --help

Kueri menggunakan CLI Skills

Kunjungi CLI Skills, instal skill tersebut, lalu jelaskan kebutuhan Anda dalam bahasa alami melalui agen untuk mendapatkan perintah berbasis plugin yang sesuai.

Lakukan migrasi

Langkah 1: Tingkatkan CLI

Periksa versi saat ini:

aliyun version

Jika versinya sebelum 3.3.0, lihat Instal dan perbarui Alibaba Cloud CLI untuk melakukan peningkatan. Anda tidak perlu menguninstal versi lama—konfigurasi kredensial yang ada (~/.aliyun/config.json) tidak terpengaruh.

Setelah ditingkatkan, perintah lama tetap berfungsi dan skrip yang ada tidak terpengaruh. Dukungan fitur baru, pembaruan, dan perbaikan keamanan hanya tersedia di versi berbasis plugin.

Langkah 2: Instal plugin

Instal plugin layanan cloud yang Anda butuhkan:

# Instal satu plugin
aliyun plugin install --name ecs

# Instal beberapa plugin
aliyun plugin install --names ecs oss vpc

Atau, aktifkan instalasi otomatis melalui variabel lingkungan. Saat Anda menjalankan perintah berbasis plugin yang plugin-nya belum terinstal, CLI akan mengunduh dan menginstalnya secara otomatis:

export ALIBABA_CLOUD_CLI_PLUGIN_AUTO_INSTALL=true
Catatan

export hanya berlaku untuk sesi shell saat ini. Untuk membuat pengaturan ini permanen, tambahkan perintah tersebut ke file konfigurasi shell Anda:

  • Bash: ~/.bashrc

  • Zsh: ~/.zshrc

Setelah mengedit, jalankan source ~/.bashrc (atau source ~/.zshrc) untuk menerapkan perubahan.

Langkah 3: Verifikasi perintah

Jalankan perintah berbasis plugin untuk memverifikasi bahwa semuanya berfungsi:

aliyun ecs describe-regions

Daftar JSON wilayah dalam output mengonfirmasi bahwa CLI berbasis plugin berfungsi dengan benar.

Langkah 4: Perbarui skrip Anda

Gantilah secara bertahap perintah lama di skrip Anda dengan sintaks berbasis plugin:

  1. Identifikasi perintah lama di skrip Anda. Ciri umumnya adalah argumen kedua menggunakan PascalCase (misalnya, aliyun ecs DescribeInstances).

  2. Ganti perintah lama dengan padanan berbasis plugin, dan perbarui nama parameter yang sesuai.

  3. Uji skrip yang telah diperbarui.

Perintah lama tetap berfungsi di versi baru, sehingga Anda dapat melakukan migrasi secara bertahap berdasarkan prioritas.

Catatan

Nama bidang di dalam nilai parameter JSON tidak perlu dikonversi. Nama bidang ini ditentukan oleh API dan tidak bergantung pada konvensi penamaan parameter CLI.

Kasus khusus

Pipeline CI/CD

Di lingkungan non-interaktif, CLI tidak akan menampilkan prompt untuk instalasi plugin. Tangani hal ini dengan salah satu cara berikut:

  • Pra-instal plugin di skrip pipeline Anda:

    aliyun plugin install --names ecs oss vpc
  • Atau, atur variabel lingkungan untuk mengaktifkan instalasi otomatis:

    export ALIBABA_CLOUD_CLI_PLUGIN_AUTO_INSTALL=true

Kami menyarankan menambahkan variabel lingkungan tersebut ke konfigurasi lingkungan global pipeline Anda (seperti blok environment di Jenkinsfile atau bagian env di GitHub Actions) agar berlaku untuk setiap build.

Skrip penguraian output

Output JSON dari perintah berbasis plugin mungkin berbeda dari versi lama. CLI lama mengembalikan tanggapan API mentah, sedangkan versi berbasis plugin mungkin memproses output tersebut. Jika skrip Anda menggunakan jq, grep, atau alat lain untuk mengurai output CLI, verifikasi format output setelah mengganti perintah.

Migrasi perintah kompleks

Perintah dengan parameter kompleks merupakan skenario paling rawan kesalahan selama migrasi.

Perintah dengan parameter JSON kompleks

Lama:

aliyun slb AddBackendServers \
  --LoadBalancerId lb-xxx \
  --BackendServers '[{"ServerId":"i-aaa","Weight":100},{"ServerId":"i-bbb","Weight":80}]'

Berbasis plugin:

aliyun slb add-backend-servers \
  --load-balancer-id lb-xxx \
  --backend-servers '[{"ServerId":"i-aaa","Weight":100},{"ServerId":"i-bbb","Weight":80}]'

Penyampaian parameter heredoc multiline

Untuk parameter JSON panjang, gunakan heredoc agar lebih mudah dibaca:

aliyun ecs run-instances \
  --region cn-hangzhou \
  --instance-type ecs.g7.large \
  --image-id ubuntu_22_04_x64_20G_alibase_20230China.vhd \
  --security-group-id sg-xxx \
  --vswitch-id vsw-xxx \
  --system-disk "$(cat <<'EOF'
{"Size":40,"Category":"cloud_essd","PerformanceLevel":"PL1"}
EOF
)"

Perintah pipa

Untuk skrip yang mengarahkan output lama melalui jq, contoh berikut mendapatkan ID semua instans yang sedang berjalan:

aliyun ecs DescribeInstances --RegionId cn-hangzhou \
  | jq -r '.Instances.Instance[] | select(.Status=="Running") | .InstanceId'

Struktur output berbasis plugin mungkin berbeda, sehingga sesuaikan path jq sesuai kebutuhan:

# Versi berbasis plugin: pertama, periksa struktur output, lalu sesuaikan ekspresi jq.
aliyun ecs describe-instances --region cn-hangzhou \
  | jq -r '.Instances.Instance[] | select(.Status=="Running") | .InstanceId'
Catatan

Saat melakukan migrasi perintah pipa, pertama-tama jalankan perintah berbasis plugin saja untuk melihat output lengkapnya. Pastikan struktur JSON sesuai harapan Anda sebelum menyesuaikan ekspresi jq/grep.

Menampilkan bantuan versi lama

Setelah menginstal plugin produk, aliyun <command> --help secara default menampilkan bantuan plugin. Untuk sementara waktu melihat bantuan versi lama, atur variabel lingkungan berikut:

export ALIBABA_CLOUD_ORIGINAL_PRODUCT_HELP=true

FAQ

Apakah saya masih bisa menggunakan perintah PascalCase versi lama setelah peningkatan?

Ya. CLI versi 3.3.0 dan lebih baru kompatibel secara mundur. Namun, kami merekomendasikan peningkatan ke versi terbaru untuk mendapatkan dukungan terkini.

Apakah saya perlu mengonfigurasi ulang kredensial setelah migrasi?

Tidak. CLI berbasis plugin menggunakan konfigurasi kredensial yang sama (~/.aliyun/config.json) seperti versi lama. Semua entri profile yang telah dikonfigurasi dan kredensial variabel lingkungan tetap berfungsi setelah peningkatan.

Apakah saya bisa mencampur perintah lama dan berbasis plugin dalam skrip yang sama?

Ya. Kedua gaya perintah dapat digunakan bersama dalam skrip yang sama. Kami merekomendasikan mengganti perintah lama secara bertahap berdasarkan prioritas.

Apa yang harus dilakukan jika instalasi plugin gagal?

Lakukan pemecahan masalah dalam urutan berikut:

  1. Periksa apakah jaringan Anda dapat mengakses aliyuncli.alicdn.com.

  2. Verifikasi bahwa direktori instalasi plugin (~/.aliyun/plugins/) memiliki izin tulis.

  3. Pastikan versi CLI Anda adalah 3.3.0 atau lebih baru (versi sebelumnya tidak mendukung plugin). Jalankan aliyun version untuk memeriksa.