Alibaba Cloud CLI mengintegrasikan ossutil, antarmuka baris perintah (CLI) untuk Object Storage Service (OSS). Integrasi ini memungkinkan Anda mengelola sumber daya OSS dalam lingkungan CLI yang terpadu. Topik ini menjelaskan cara menggunakan ossutil dengan Alibaba Cloud CLI.
Latar Belakang
ossutilmemungkinkan Anda mengelola data OSS dari sistem Windows, Linux, atau macOS. Ini diintegrasikan sebagai plugin ke dalam Alibaba Cloud CLI. Anda dapat memanggilossutillangsung dari Alibaba Cloud CLI untuk mengelola sumber daya inti OSS, seperti bucket dan objek.Mulai dari
versi 3.0.304, Alibaba Cloud CLI mengintegrasikan<a baseurl="t3144192_v1_0_0.xdita" data-node="4930824" data-root="39083" data-tag="xref" href="t2720201.xdita#" id="cf22035ef1brd">ossutil 2.0</a>untuk memberikan pengalaman pengguna yang lebih stabil dan efisien. Alat ini kompatibel dengan baikossutil 1.0maupunossutil 2.0, dan perintah ossutil 1.0 masih dapat digunakan. Kami menyarankan Anda untuk memutakhirkan Alibaba Cloud CLI ke versi terbaru untuk memanfaatkan semua fitur baru dan peningkatan performa dariossutil 2.0.Perbedaan utama antara
ossutil 1.0danossutil 2.0di Alibaba Cloud CLI adalah sebagai berikut:
ossutil 2.0
Di versi terbaru Alibaba Cloud CLI, ossutil 2.0 mendukung pemeriksaan otomatis dan peningkatan ke versi terbaru. Anda tidak perlu menjalankan perintah
update.Versi ossutil 2.0 independen dari versi Alibaba Cloud CLI. Pembaruan tidak bergantung pada versi CLI.
Sintaksis
Sintaksis perintah untuk ossutil 2.0 di Alibaba Cloud CLI adalah sebagai berikut:
aliyun ossutil command [argument] [flags]
aliyun ossutil command subcommond [argument] [flags]
aliyun ossutil topicargument: parameter, yang merupakan string.flags: opsi. Mendukung gaya nama pendek-o[=value]/ -o [value]dan gaya nama panjang--options[=value]/--options[value]. Jika Anda menentukan opsi eksklusif beberapa kali, hanya nilai terakhir yang berlaku.
Berikut adalah contoh perintah:
Perintah:
aliyun ossutil cat oss://bucket/objectPerintah multi-level:
aliyun ossutil api get-bucket-cors --bucket bucketexamplePerintah bantuan:
aliyun ossutil filter
Perintah
ossutil 2.0 menyediakan tiga jenis perintah: perintah tingkat tinggi, perintah tingkat API, dan perintah bantu.
Perintah tingkat tinggi: Digunakan untuk operasi umum pada objek atau bucket, seperti membuat dan menghapus bucket, menyalin data, dan memodifikasi atribut objek.
Perintah
Deskripsi
Membuat bucket.
Menghapus bucket.
Meminta ukuran bucket atau direktori (prefix).
Menampilkan deskripsi bucket atau objek.
Membuat objek yang namanya diakhiri dengan karakter
/.Menambahkan konten ke akhir objek yang dapat ditambahkan.
Mengirimkan isi objek ke output standar.
Menampilkan bucket atau objek.
Mengunggah, mengunduh, atau menyalin objek.
Menghapus objek.
Menetapkan atribut objek.
Menghasilkan URL yang ditandatangani untuk objek.
Memulihkan objek yang dibekukan.
Mengembalikan objek ke versi tertentu.
Menyinkronkan direktori atau objek dari sumber ke tujuan.
Menghitung hash dari file atau objek.
Perintah tingkat API: Memberikan akses langsung ke Operasi API dan mendukung parameter konfigurasi dari Operasi API yang sesuai.
Perintah
Deskripsi
Menetapkan atau memodifikasi ACL bucket.
Meminta ACL bucket.
....
Membuat aturan berbagi sumber daya lintas asal (CORS).
Meminta aturan CORS.
Menghapus aturan CORS.
...
Perintah bantu: Digunakan untuk tugas-tugas seperti mengonfigurasi file dan mengakses informasi bantuan tambahan.
Perintah
Deskripsi
Mendapatkan informasi bantuan.
Membuat file konfigurasi untuk menyimpan item konfigurasi dan kredensial akses.
Menampilkan versi ossutil.
Menjalankan tugas probe.
Opsi baris perintah
Opsi baris perintah di ossutil 2.0 dibagi menjadi opsi global dan lokal. Opsi global berlaku untuk semua perintah. Opsi lokal hanya berlaku untuk perintah tertentu. Opsi baris perintah memiliki prioritas tertinggi dan dapat menimpa parameter yang ditetapkan dalam file konfigurasi atau variabel lingkungan.
Opsi baris perintah kueri
Gunakan opsi baris perintah
Opsi baris perintah global
Tipe Opsi
Tipe | Opsi | Deskripsi |
String | --option string |
Contoh: --acl private |
Boolean | --option | Menghidupkan atau mematikan opsi. Contoh: --dry-run |
Integer | --option Int | Opsi mengambil integer tanpa tanda sebagai nilainya. Contoh: --read-timeout 10 |
Timestamp | --option Time | Timestamp (DateTime atau Date) dalam format ISO 8601. Contoh: --max-mtime 2006-01-02T15:04:05 |
Akhiran ukuran | --option SizeSuffix | Satuan ukuran. Satuan default adalah B. Satuan lainnya termasuk K (KiB), M (MiB), G (GiB), T (TiB), P (PiB), dan E (EiB). Sebagai contoh, ukuran minimum 1024 byte dapat ditentukan sebagai: --min-size 1024 --min-size 1K |
Satuan waktu | --option Duration | Satuan waktu. Satuan default adalah detik (s). Satuan waktu yang didukung adalah milidetik (ms), detik (s), menit (m), jam (h), hari (d), minggu (w), bulan (M), dan tahun (y). Nilai numerik bisa berupa desimal. Sebagai contoh, satuan waktu minimum 1,5 hari dapat ditentukan sebagai: --min-age 1.5d |
Daftar string | --option strings | Anda dapat menentukan opsi sekali atau beberapa kali dalam perintah. Anda dapat menentukan satu nilai atau beberapa nilai dipisahkan koma untuk setiap kemunculan opsi. Contoh: --metadata user=jack,email=ja**@test.com --metadata address=china |
Array string | --option stringArray | Anda dapat menentukan opsi sekali atau beberapa kali dalam perintah. Anda hanya dapat menentukan satu nilai untuk setiap kemunculan opsi. Contoh: --include *.jpg --include *.txt |
Memuat data dari file
Dalam banyak kasus, Anda menentukan nilai parameter langsung di baris perintah. Saat Anda perlu memproses nilai kompleks, memuat nilai dari file memberikan lebih banyak efisiensi. Saat Anda merangkai perintah, Anda harus menentukan nilai parameter dengan menggunakan input standar. Saat parameter dapat mengambil nilai dengan menggunakan metode berbeda:
Jika nilai dimulai dengan
file://, data dimuat dari file yang ditentukan.Jika nilai adalah
-, data dimuat dari input standar.
Sebagai contoh, Anda ingin membuat aturan CORS, yang dikonfigurasikan dalam format JSON. Perintah sampel berikut membuat aturan CORS dengan memuat konfigurasi CORS dari file cors-configuration.json:
{
"CORSRule": {
"AllowedOrigin": ["www.aliyun.com"],
"AllowedMethod": ["PUT","GET"],
"MaxAgeSeconds": 10000
}
}aliyun ossutil api put-bucket-cors --bucket examplebucket --cors-configuration file://cors-configuration.jsonPerintah sampel berikut membuat aturan CORS dengan mengambil data konfigurasi JSON di baris perintah:
{"CORSRule":{"AllowedOrigin":["www.aliyun.com"],"AllowedMethod":["PUT","GET"],"MaxAgeSeconds":10000}}aliyun ossutil api put-bucket-cors --bucket examplebucket --cors-configuration "{\"CORSRule\":{\"AllowedOrigin\":[\"www.aliyun.com\"],\"AllowedMethod\":[\"PUT\",\"GET\"],\"MaxAgeSeconds\":10000}}"Perintah sampel berikut membuat aturan CORS dengan mengambil konfigurasi dari input standar:
cat cors-configuration.json | aliyun ossutil api put-bucket-cors --bucket examplebucket --cors-configuration -Keluaran perintah kontrol
Format keluaran
Anda dapat menggunakan parameter --output-format dalam perintah du, stat, dan ls serta subperintah dari perintah api untuk memformat keluaran. Tabel berikut menjelaskan nilai valid dari opsi --output-format.
Format | Deskripsi |
raw | Mengembalikan keluaran dalam format mentah, yaitu format di mana server mengembalikan konten. |
json | Mengembalikan keluaran dalam format JSON. |
yaml | Mengembalikan keluaran dalam format YAML. |
Pada contoh berikut, output perintah get-bucket-cors dalam format raw:
aliyun ossutil api get-bucket-cors --bucket bucketexample
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration>
<CORSRule>
<AllowedOrigin>www.aliyun.com</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>10000</MaxAgeSeconds>
</CORSRule>
<ResponseVary>false</ResponseVary>
</CORSConfiguration>Contoh keluaran diformat dalam JSON:
aliyun ossutil api get-bucket-cors --bucket bucketexample --output-format json
{
"CORSRule": {
"AllowedMethod": [
"PUT",
"GET"
],
"AllowedOrigin": "www.aliyun.com",
"MaxAgeSeconds": "10000"
},
"ResponseVary": "false"
}Filter keluaran
ossutil menyediakan mekanisme query keluaran berbasis JSON bawaan. Anda dapat menggunakan opsi --output-query value untuk menanyakan keluaran.
Opsi ini hanya berlaku untuk subperintah dalam set perintah API.
Fitur query keluaran didasarkan pada JMESPath. Saat Anda menggunakan fitur query keluaran, keluaran diformat dalam JSON, disaring berdasarkan ekspresi query JMESPath, dan dikembalikan dalam format yang ditentukan. Untuk informasi lebih lanjut tentang JMEPath, lihat Spesifikasi JMESPath.
Dalam contoh berikut, perintah get-bucket-cors hanya mengembalikan nilai parameter AllowedMethod:
aliyun ossutil api get-bucket-cors --bucket bucketexample --output-query CORSRule.AllowedMethod --output-format json
[
"PUT",
"GET"
]Tampilan yang mudah dibaca manusia
ossutil menyediakan opsi --human-readable yang memungkinkan ukuran data dan jumlah dalam keluaran perintah du dan stat ditampilkan dengan cara yang lebih mudah dibaca manusia. Secara khusus, ukuran data ditampilkan dalam KiB, MiB, GiB, TiB, dan PiB berbasis 1024, dan jumlah ditampilkan dengan menggunakan singkatan unit berbasis 1000 seperti k, m, g, t, dan p.
Contoh mode mentah
aliyun ossutil stat oss://bucketexample
ACL : private
AccessMonitor : Disabled
ArchiveObjectCount : 2
ArchiveRealStorage : 10
ArchiveStorage : 131072
...
StandardObjectCount : 119212
StandardStorage : 66756852803
Storage : 66756852813
StorageClass : Standard
TransferAcceleration : DisabledContoh mode yang mudah dibaca manusia
aliyun ossutil stat oss://bucketexample --human-readable
ACL : private
AccessMonitor : Disabled
ArchiveObjectCount : 2
ArchiveRealStorage : 10
ArchiveStorage : 131.072k
...
StandardObjectCount : 119.212k
StandardStorage : 66.757G
Storage : 66.757G
StorageClass : Standard
TransferAcceleration : DisabledKode pengembalian perintah
Saat panggilan ke ossutil dilakukan dengan menggunakan proses, informasi echo tidak dapat ditampilkan secara real time. Saat proses selesai, kode pengembalian ditampilkan berdasarkan hasilnya. Anda dapat menjalankan perintah berikut untuk menampilkan kode pengembalian untuk perintah yang sebelumnya dieksekusi dan menggunakan kode pengembalian untuk pemecahan masalah.
Linux
Jalankan perintah echo $? untuk menampilkan kode pengembalian perintah yang sebelumnya dieksekusi.
Windows
Jalankan perintah echo %errorlevel% untuk menampilkan kode pengembalian perintah yang sebelumnya dieksekusi.
macOS
Jalankan perintah echo $? untuk menampilkan kode pengembalian perintah yang sebelumnya dieksekusi.
Kode Pengembalian | Deskripsi |
0 | Menunjukkan keberhasilan. Permintaan yang dikirim ke server berhasil ditangani dan server mengembalikan kode status 200. |
1 | Menunjukkan kesalahan parameter. Misalnya, subperintah atau parameter yang diperlukan hilang, atau perintah atau parameter tidak dikenal. |
2 | Menunjukkan kesalahan server. Perintah berhasil mengirim permintaan ke server, tetapi server mengembalikan kesalahan (kode status selain 2xx). |
3 | Menunjukkan kesalahan bukan di sisi server selama pemanggilan ke OSS SDK for Go. |
4 | Menunjukkan kegagalan sebagian dalam pemrosesan batch, misalnya, dengan menggunakan perintah cp atau rm. |
5 | Menunjukkan interupsi. Perintah dibatalkan dengan menggunakan |
Contoh
Contoh 1: Unggah file lokal upload.rar ke bucket bernama bucket dengan kecepatan 20 MB/s. Satuan default adalah byte per detik (B/s).
aliyun ossutil cp D:\\upload.rar oss://bucket/ --bandwidth-limit 20971520Contoh 2: Unggah file lokal file.rar ke bucket bernama bucket dengan kecepatan 50 MB/s. Satuan yang ditentukan adalah megabyte per detik (MB/s).
aliyun ossutil cp D:\\file.rar oss://bucket/dir -r --bandwidth-limit 50MContoh 3: Unduh objek download.rar dari bucket bernama bucket ke direktori saat ini dan batasi kecepatan unduhan hingga 20 MB/s.
aliyun ossutil cp oss://bucket/download.rar . --bandwidth-limit 20971520
ossutil 1.0
FAQ
Jika Anda mengalami kesalahan saat menggunakan ossutil, lihat topik berikut untuk memecahkan masalah kesalahan tersebut.