All Products
Search
Document Center

Object Storage Service:cp (copy object)

Last Updated:Mar 12, 2026

Menyalin objek berarti menyalinnya dari bucket sumber ke bucket tujuan di wilayah yang sama atau ke direktori lain dalam bucket yang sama. Konten objek tetap tidak berubah. Gunakan perintah ossutil cp untuk menyalin objek.

Catatan

  • Untuk menyalin objek, Anda harus memiliki izin oss:GetObject, oss:ListObjects, dan oss:PutObject. Untuk informasi selengkapnya, lihat Grant custom access policies to RAM users.

  • Anda hanya dapat menyalin objek, bukan bagian yang belum digabung (unmerged parts).

  • Secara default, tag dan atribut objek disalin. Gunakan opsi --copy-props untuk mengonfigurasi aturan penyalinan atribut dan tag.

  • Operasi salin lintas akun (cross-account) dan lintas wilayah (cross-region) tidak didukung. Untuk menyalin atau memigrasikan objek antar akun atau wilayah, gunakan ossimport atau Data Online Migration.

  • Saat Anda menggunakan opsi -u atau --update, sistem mengirim setidaknya satu permintaan HEAD untuk setiap objek yang diperiksa, terlepas dari apakah objek tujuan sudah ada atau tidak. Dalam skenario dengan perubahan data yang jarang, hal ini menghasilkan banyak permintaan yang tidak efisien, yang dapat memengaruhi performa dan menimbulkan biaya permintaan tambahan. Evaluasi kebutuhan bisnis Anda dan gunakan opsi ini dengan hati-hati untuk menghindari konsumsi resource yang tidak perlu.

Format perintah

ossutil cp oss://src_bucket[/src_prefix] oss://dest_bucket[/dest_prefix] [flags]

Parameter

Jenis

Deskripsi

src_bucket

string

Nama bucket sumber.

src_prefix

string

Direktori atau awalan tertentu untuk objek di bucket sumber.

dest_bucket

string

Nama bucket tujuan.

dest_prefix

string

Direktori atau awalan tertentu untuk objek di bucket tujuan.

--acl

string

Izin akses objek. Nilai yang valid:

  • private: Objek bersifat privat.

  • public-read: Objek dapat dibaca oleh publik.

  • public-read-write: Objek dapat dibaca dan ditulis oleh publik.

  • Default: Mewarisi pengaturan bucket.

--bandwidth-limit

SizeSuffix

Anda dapat menggunakan ini untuk membatasi bandwidth jaringan dan mengontrol laju transmisi data. Nilai minimum adalah 1024 B/s. Satuan default adalah B/s.

Anda dapat menentukan satuan untuk nilai bandwidth, seperti B (byte), K (kilobyte), M (megabyte), atau G (gigabyte). Misalnya, 50 M menentukan batas bandwidth sebesar 50 MB/s.

--bigfile-threshold

SizeSuffix

Ambang batas untuk mengaktifkan unggah multi-bagian, unduh, atau salin untuk file besar. Nilai default adalah 104857600.

--cache-control

string

Perilaku cache halaman web saat objek diunduh.

--checkers

int

Jumlah checker yang berjalan secara paralel. Nilai default adalah 16.

--checkpoint-dir

string

Direktori yang menyimpan informasi checkpoint untuk operasi yang dapat dilanjutkan. Nilai default adalah .ossutil_checkpoint/.

--checksum

/

Hanya menyalin objek sumber yang ukuran atau checksum-nya (jika ada) berbeda dari objek tujuan. Opsi ini hanya berlaku untuk salin objek-ke-objek.

--content-disposition

string

Cara objek ditampilkan.

--content-encoding

string

Format encoding objek.

--content-type

string

Tipe konten objek.

--copy-props

string

Aturan untuk menyalin atribut dan tag selama operasi salin objek-ke-objek. Pengaturan berikut didukung:

  • default (nilai default): Menyalin atribut dan tag objek. Atribut objek mencakup content-type, content-language, content-encoding, content-disposition, cache-control, expires, dan metadata (metadata yang ditentukan pengguna).

  • metadata: Hanya menyalin atribut objek.

  • none: Hanya menyalin data dan mengabaikan atribut serta tag objek.

-d, --dirs

string

Memproses objek dan subdirektori di direktori saat ini, tetapi tidak memproses semua objek di semua subdirektori secara rekursif.

--encoding-type

string

Tipe encoding nama objek input atau nama file. Nilai yang valid: url.

--end-with

string

Mengembalikan objek yang secara alfabetis berada sebelum atau sama dengan nilai yang ditentukan.

--exclude

stringArray

Aturan untuk mengecualikan path atau nama file.

--exclude-from

stringArray

Membaca aturan pengecualian dari file aturan.

--expires

string

Waktu kedaluwarsa absolut untuk konten yang di-cache.

--files-from

stringArray

Membaca daftar nama file sumber dari file. Baris kosong atau baris komentar diabaikan.

--files-from-raw

stringArray

Membaca daftar nama file sumber dari file.

--filter

stringArray

Aturan untuk memfilter path atau nama file.

--filter-from

stringArray

Membaca aturan pemfilteran dari file aturan.

-f, --force

/

Memaksa operasi tanpa prompt konfirmasi.

--ignore-existing

/

Melewati objek tujuan yang sudah ada.

--include

stringArray

Aturan untuk menyertakan path atau nama file.

--include-from

stringArray

Membaca aturan penyertaan dari file aturan.

-j, --job

int

Jumlah tugas konkuren. Nilai default adalah 3.

Catatan

Parameter ini hanya berlaku jika Anda menentukan parameter -f, --update, --size-only, atau --ignore-existing.

--list-objects

/

Menggunakan operasi ListObjects untuk mendaftar objek.

--max-size

SizeSuffix

Ukuran maksimum objek yang akan ditransfer. Satuan default adalah byte. Anda juga dapat menggunakan akhiran satuan, seperti B, K, M, G, T, atau P. 1 K (KiB) = 1024 B.

--metadata

strings

Metadata pengguna objek. Gunakan format key=value.

--metadata-directive

string

Menentukan cara mengatur metadata objek tujuan. Nilai yang valid:

  • COPY

  • REPLACE

--metadata-exclude

stringArray

Aturan untuk mengecualikan metadata objek.

--metadata-filter

stringArray

Aturan untuk memfilter metadata objek.

--metadata-filter-from

stringArray

Membaca aturan pemfilteran metadata objek dari file aturan.

--metadata-include

stringArray

Aturan untuk menyertakan metadata objek.

--min-age

Duration

Hanya menyalin objek yang dimodifikasi sebelum interval waktu yang ditentukan. Satuan default adalah detik. Anda dapat menggunakan akhiran satuan. Misalnya, 1h berarti 1 jam.

Catatan

--min-age 1h hanya menyalin objek yang dimodifikasi 1 jam yang lalu atau lebih awal.

--max-age

Duration

Hanya menyalin objek yang dimodifikasi dalam interval waktu yang ditentukan. Satuan default adalah detik. Anda dapat menggunakan akhiran satuan. Misalnya, 1h berarti 1 jam.

Catatan

--max-age 1h hanya menyalin objek yang dimodifikasi dalam satu jam terakhir.

--min-mtime

Time

Hanya menyalin objek yang dimodifikasi setelah waktu yang ditentukan. Waktu harus dalam format UTC. Misalnya, 2006-01-02T15:04:05.

Catatan

--min-mtime "2006-01-02T15:04:05" hanya menyalin objek yang dimodifikasi setelah pukul 15:04:05 pada 2 Januari 2006.

--max-mtime

Time

Hanya menyalin objek yang dimodifikasi sebelum waktu yang ditentukan. Waktu harus dalam format UTC. Misalnya, 2006-01-02T15:04:05.

--min-size

SizeSuffix

Ukuran minimum objek yang akan ditransfer. Satuan default adalah byte. Anda juga dapat menggunakan akhiran satuan, seperti B, K, M, G, T, atau P. 1 K (KiB) = 1024 B.

--no-progress

/

Tidak menampilkan bilah progres.

--no-error-report

/

Tidak menghasilkan file laporan error untuk pemrosesan batch.

--output-dir

string

Direktori tempat file laporan error yang dihasilkan selama pemrosesan batch disimpan. Nilai default adalah ossutil_output.

--page-size

int

Jumlah maksimum objek yang didaftar per halaman untuk operasi salin batch. Nilai default adalah 1000. Nilai berkisar antara 1 hingga 1000.

--parallel

int

Jumlah tugas konkuren untuk operasi internal dalam satu file.

--part-size

SizeSuffix

Ukuran bagian. Secara default, ossutil menghitung ukuran bagian yang sesuai berdasarkan ukuran objek. Nilai berkisar antara 100 KiB hingga 5 GiB.

-r, --recursive

/

Menjalankan operasi secara rekursif. Jika Anda menentukan opsi ini, perintah dijalankan pada semua objek yang cocok di bucket. Jika tidak, perintah hanya dijalankan pada objek yang ditentukan oleh path.

--request-payer

string

Metode pembayaran untuk permintaan. Jika Anda menggunakan mode pay-by-requester, atur parameter ini ke `requester`.

--size-only

/

Hanya menyalin objek sumber yang ukurannya berbeda dari objek tujuan.

--start-after

string

Mengembalikan objek yang secara alfabetis berada setelah nilai yang ditentukan.

--storage-class

string

Kelas penyimpanan objek. Nilai yang valid:

  • Standard storage type.

  • IA: IA storage class

  • Archive: Archive Storage

  • ColdArchive: Cold Archive

  • DeepColdArchive: Deep Cold Archive

--tagging

string

Tag objek. Gunakan format key=value.

--tagging-directive

string

Menentukan cara mengatur tag objek tujuan. Nilai yang valid:

  • COPY

  • REPLACE

-u, --update

/

Melewati objek tujuan yang sudah ada dan dimodifikasi lebih baru daripada objek sumber.

Catatan

Jika objek tujuan memiliki waktu modifikasi yang sama dengan objek sumber, objek tujuan akan diperbarui.

--version-id

string

ID versi objek.

Catatan

Untuk informasi selengkapnya, lihat Command-line options.

Konvensi penamaan untuk objek tujuan adalah sebagai berikut:

  • Saat menyalin satu objek dan dest_prefix kosong, nama objek tujuan adalah path relatif objek sumber.

  • Saat menyalin satu objek dan dest_prefix diakhiri dengan garis miring (/), nama objek tujuan adalah dest_prefix ditambah path relatif objek sumber.

  • Saat menyalin satu objek dan dest_prefix tidak diakhiri dengan garis miring (/), nama objek tujuan identik dengan dest_prefix.

  • Saat melakukan salin batch dan dest_prefix diakhiri dengan garis miring (/), nama objek tujuan adalah dest_prefix ditambah path relatif objek sumber.

  • Saat melakukan salin batch dan dest_prefix tidak diakhiri dengan garis miring (/), nama objek tujuan adalah dest_prefix + "/" + path relatif objek sumber.

Contoh

  • Salin satu objek

    ossutil cp oss://examplebucket1/examplefile.txt oss://examplebucket1/desfolder/
  • Salin objek secara inkremental

    Saat melakukan salin batch dengan opsi --update, perintah melewati objek tujuan yang sudah ada dan dimodifikasi lebih baru daripada objek sumber yang sesuai. Perintahnya adalah sebagai berikut:

    ossutil cp oss://examplebucket1/srcfolder1/ oss://examplebucket1/desfolder/ -r --update
  • Salin objek antar bucket setelah replikasi same-region

    • Gunakan parameter --checksum untuk melakukan salin inkremental berdasarkan checksum: Pendekatan ini cocok untuk skenario yang memerlukan verifikasi konsistensi konten yang ketat, seperti mengirim ulang objek setelah salin batch gagal sambil melewati objek yang berhasil disalin. Sistem melakukan langkah-langkah berikut:

      1. Bandingkan ukuran file terlebih dahulu.

      2. Jika ukurannya cocok, hitung dan bandingkan checksum CRC64-nya.

      3. Salin objek hanya jika checksum-nya berbeda.

      ossutil cp oss://examplebucket1/srcfolder1/ oss://examplebucket1/desfolder/ -r --checksum
    • Gunakan parameter --ignore-existing untuk melewati objek yang sudah ada: Pendekatan ini cocok saat Anda ingin melewati objek tujuan yang sudah ada alih-alih menimpanya:

      ossutil cp oss://examplebucket1/srcfolder1/ oss://examplebucket1/desfolder/ -r --ignore-existing
  • Ganti nama file

    ossutil cp oss://examplebucket1/examplefile.txt oss://examplebucket1/example.txt 

    Saat menggunakan perintah cp untuk mengganti nama objek, objek sumber tetap utuh. Anda dapat menghapus objek sumber setelah mengganti namanya.

  • Ubah tag objek

    ossutil cp oss://examplebucket1/examplefile.txt oss://examplebucket1/ --tagging "abc=1&bcd=2&……"