Gunakan perintah cp untuk mengunduh sumber daya seperti file, gambar, dan video dari Object Storage Service (OSS) ke komputer lokal Anda. Perintah ini memungkinkan Anda mengunduh beberapa objek, membatasi kecepatan unduhan, atau mengunduh versi tertentu dari objek dari bucket yang memiliki pengendalian versi.
Catatan penggunaan
Mulai dari ossutil 1.6.16, Anda dapat menggunakan ossutil sebagai nama biner di baris perintah, terlepas dari sistem operasi Anda. Jika Anda menggunakan versi sebelum 1.6.16, Anda harus menyesuaikan nama biner sesuai dengan sistem operasi Anda. Untuk informasi lebih lanjut, lihat Referensi Perintah ossutil.
Izin
Secara default, Akun Alibaba Cloud memiliki izin penuh atas sumber dayanya. Pengguna Resource Access Management (RAM) atau Peran RAM tidak memiliki izin apa pun secara default. Anda harus memberikan izin kepada Pengguna RAM atau Peran RAM menggunakan Kebijakan RAM atau Kebijakan Bucket.
Aksi API | Deskripsi |
| Diperlukan untuk mengunduh objek. |
| Opsional. Diperlukan untuk mengunduh versi tertentu dari objek sumber menggunakan opsi |
| Opsional. Diperlukan jika objek yang diunduh dienkripsi di sisi server menggunakan KMS. |
| |
| Opsional. Diperlukan untuk unduhan batch (operasi rekursif). |
Sintaksis
ossutil cp cloud_url file_url [options]Parameter | Deskripsi |
cloud_url | Jalur sumber objek OSS. Formatnya adalah |
file_url | Jalur tujuan untuk file lokal. Jika tujuannya adalah direktori, jalur harus diakhiri dengan pemisah (/ atau \). Contohnya, jalur Linux adalah |
-r, --recursive | Menerapkan operasi secara rekursif ke semua objek yang cocok di bawah awalan yang ditentukan. Jika tidak, operasi hanya berlaku untuk satu objek yang ditentukan. |
-f --force | Memaksa operasi tanpa meminta konfirmasi. |
-u,--update | Melakukan unduhan hanya jika file tujuan tidak ada atau jika waktu modifikasi terakhir objek sumber lebih baru daripada file tujuan. |
--maxdownspeed | Kecepatan unduhan maksimum dalam KB/s. Nilai default adalah 0, yang berarti tidak ada batasan kecepatan. |
--disable-ignore-error | Menonaktifkan pengabaian kesalahan selama operasi batch. |
--only-current-dir | Mengunduh hanya objek di direktori saat ini dan mengabaikan subdirektori serta objek di dalamnya. |
--bigfile-threshold | Ambang batas ukuran dalam byte untuk unduhan yang dapat dilanjutkan. Default: 100 MB Rentang nilai: 0 hingga 9223372036854775807 |
--part-size | Ukuran part dalam byte. Secara default, ossutil secara otomatis menghitung ukuran part yang sesuai berdasarkan ukuran objek. Rentang nilai: 1 hingga 9223372036854775807 |
--checkpoint-dir | Direktori tempat ossutil menyimpan informasi checkpoint untuk unduhan yang dapat dilanjutkan. Jika unduhan yang dapat dilanjutkan gagal, ossutil membuat direktori |
--range | Mengunduh rentang byte tertentu dari objek dan menyimpannya sebagai file baru. Penomoran byte dimulai dari nol.
|
--encoding-type | Tipe enkode nama objek. Atur opsi ini ke url. Jika opsi ini tidak ditentukan, nama objek tidak dienkode. |
--include | Memasukkan semua objek yang cocok dengan pola yang ditentukan. Untuk informasi lebih lanjut, lihat opsi include dan exclude. |
--exclude | Mengeluarkan semua objek yang cocok dengan pola yang ditentukan. Untuk informasi lebih lanjut, lihat opsi include dan exclude. |
--meta | Menetapkan metadata untuk objek. Formatnya adalah |
--acl | Daftar kontrol akses (ACL) objek. Nilai valid:
|
--snapshot-path | Direktori tempat informasi snapshot disimpan selama unduhan. Untuk unduhan berikutnya, ossutil membaca informasi snapshot dari direktori ini untuk melakukan unduhan inkremental. |
--disable-crc64 | Menonaktifkan pemeriksaan redundansi siklik 64-bit (CRC-64). Secara default, ossutil mengaktifkan CRC-64 untuk semua transfer data. |
--payer | Metode pembayaran untuk permintaan. Untuk membuat peminta membayar lalu lintas dan permintaan yang dihasilkan dari mengakses jalur yang ditentukan, atur opsi ini ke requester. |
--partition-download | Menentukan partisi objek untuk diunduh. Nilainya dalam format |
-j,--job | Jumlah tugas konkuren untuk operasi multi-objek. Default: 3. Rentang nilai: 1 hingga 10.000. |
--parallel | Jumlah tugas konkuren untuk operasi single-objek. Rentang nilai: 1 hingga 10.000. Jika opsi ini tidak diatur, ossutil menentukan nilainya berdasarkan jenis operasi dan ukuran objek. |
--version-id | Mengunduh versi tertentu dari objek. Gunakan opsi --version-id hanya dengan bucket yang memiliki pengendalian versi. Untuk mengaktifkan pengendalian versi untuk bucket, lihat bucket-versioning (Pengendalian versi). |
--start-time | Stempel waktu UNIX. Jika Anda menentukan opsi ini, objek dengan waktu modifikasi terakhir lebih awal dari stempel waktu ini akan diabaikan. Catatan Hanya ossutil 1.7.18 dan yang lebih baru yang mendukung parameter ini. Untuk informasi lebih lanjut tentang peningkatan, lihat update (Tingkatkan ossutil). |
--end-time | Stempel waktu UNIX. Jika Anda menentukan opsi ini, objek dengan waktu modifikasi terakhir lebih baru dari stempel waktu ini akan diabaikan. Catatan
|
Untuk informasi lebih lanjut tentang opsi umum lainnya untuk perintah ini, lihat Opsi Umum.
Jika konkurensi default tidak memenuhi kebutuhan performa Anda, Anda dapat menyesuaikan opsi -j, --jobs dan --parallel untuk menyetel performa. Secara default, ossutil menghitung jumlah paralel berdasarkan ukuran objek. Saat Anda mentransfer objek besar dalam batch, konkurensi aktual adalah jumlah pekerjaan dikalikan dengan jumlah paralel.
Jika Instance ECS atau server yang menjalankan perintah memiliki sumber daya terbatas, seperti jaringan, memori, atau CPU, kami sarankan Anda menetapkan konkurensi ke nilai di bawah 100. Jika sumber daya ini tidak sepenuhnya digunakan, Anda dapat meningkatkan konkurensi.
Menetapkan konkurensi terlalu tinggi dapat menurunkan performa atau menyebabkan kesalahan EOF karena overhead pergantian thread dan persaingan sumber daya. Anda dapat menyesuaikan opsi -j, --jobs dan --parallel berdasarkan sumber daya mesin Anda. Saat melakukan uji stres, mulailah dengan nilai konkurensi rendah dan tingkatkan secara bertahap untuk menemukan pengaturan optimal.
Contoh
Contoh berikut ini untuk sistem Linux. Anda harus menyesuaikan parameter agar sesuai dengan sistem operasi dan lingkungan Anda. Contoh-contoh ini mengasumsikan hal berikut:
Nama bucket:
examplebucketDirektori OSS:
destfolder/Direktori lokal:
localfolder/File lokal:
examplefile.txt
Mengunduh satu objek
Unduh objek ke direktori yang ditentukan dan pertahankan nama aslinya:
ossutil cp oss://examplebucket/destfolder/examplefile.txt localfolder/Unduh objek ke direktori yang ditentukan dan ubah namanya menjadi
example.txt:ossutil cp oss://examplebucket/destfolder/examplefile.txt localfolder/example.txt
Unduhan batch
Gunakan opsi
-runtuk mengunduh direktoridestfolder, termasuk semua subdirektori dan objeknya.ossutil cp -r oss://examplebucket/destfolder/ localfolder/Gunakan opsi
--only-current-diruntuk mengunduh hanya objek di direktori saat ini dan abaikan subdirektori apa pun.ossutil cp oss://examplebucket/destfolder/ localfolder/ --only-current-dir -rGunakan opsi
-uuntuk mengunduh hanya objek yang tidak ada secara lokal atau telah diperbarui di OSS. Opsi ini melewati pengunduhan objek jika file lokal dengan nama dan waktu modifikasi terakhir yang sama sudah ada.ossutil cp -r -u oss://examplebucket/destfolder/ localfolder/
Mengunduh objek bersyarat
Unduh semua objek yang bukan dalam format JPG dari direktori
destfolder:ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --exclude "*.jpg"Unduh objek dari direktori
destfolderyang mengandungabcdalam nama mereka tetapi bukan dalam format JPG atau TXT:ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --include "*abc*" --exclude "*.jpg" --exclude "*.txt"
Batasi kecepatan unduhan
Gunakan opsi --maxdownspeed untuk membatasi kecepatan unduhan hingga 1 MB/s (1.024 KB/s).
ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --maxdownspeed 1024Unduhan rentang
Gunakan opsi --range untuk mengunduh byte 10 hingga 20 dari examplefile.txt ke komputer lokal Anda.
ossutil cp oss://examplebucket/destfolder/examplefile.txt localfolder/ --range 10-20Mengunduh objek dalam rentang waktu tertentu
Gunakan opsi --start-time dan --end-time untuk mengunduh hanya objek di direktori destfolder yang terakhir dimodifikasi antara pukul 10:09:18 pada tanggal 31 Oktober 2023 (UTC+8) dan pukul 12:55:58 pada tanggal 31 Oktober 2023 (UTC+8).
ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --start-time 1698718158 --end-time 1698728158Mengunduh versi tertentu dari objek
Pertama, gunakan perintah ls --all-versions untuk mendapatkan semua ID versi objek. Kemudian, gunakan opsi --version-id untuk mengunduh versi tertentu.
Opsi --version-id hanya dapat digunakan untuk objek di bucket yang memiliki pengendalian versi. Untuk mengaktifkan pengendalian versi untuk bucket, lihat bucket-versioning (Pengendalian Versi).
ossutil cp oss://examplebucket/test.jpg localfolder/ --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3MDRkMengunduh objek dan menghasilkan informasi snapshot
Gunakan opsi --snapshot-path untuk menghasilkan informasi snapshot untuk objek yang diunduh di direktori tertentu. Saat Anda menjalankan perintah unduhan berikutnya dengan opsi ini, ossutil membaca informasi snapshot dari direktori tersebut untuk melakukan unduhan inkremental. Untuk informasi lebih lanjut, lihat Unggah Objek dan Hasilkan Snapshot.
ossutil cp -r oss://examplebucket/destfolder/ localfolder/ --start-time 1698718158 --end-time 1698728158Unduhan lintas akun atau lintas wilayah
Gunakan opsi umum -e, -i, dan -k untuk mengunduh objek dari bucket yang dimiliki oleh akun lain dan berlokasi di wilayah China (Shanghai).
Tentukan Endpoint yang sesuai dengan wilayah tempat bucket berada. Untuk informasi lebih lanjut, lihat Wilayah dan Endpoint.
ossutil cp oss://examplebucket/exampleobject.txt localfolder/ -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret