Perintah ini digunakan untuk menyalin objek yang tersimpan dalam bucket yang sama atau berbeda di wilayah yang sama.
Catatan
Untuk memulihkan versi sebelumnya dari sebuah objek ke versi saat ini, Anda dapat menyalin versi sebelumnya dari objek tersebut ke bucket tempat objek disimpan. OSS kemudian menyimpan versi sebelumnya dari objek sebagai versi saat ini.
Jika Anda menyalin objek dalam bucket yang sama, tidak ada batasan ukuran objek yang disalin. Jika Anda menyalin objek antar bucket di wilayah yang sama, disarankan untuk menggunakan operasi ini pada objek yang lebih kecil dari 1 GB. Untuk objek yang lebih besar dari 1 GB, gunakan perintah unggah-bagian-salin.
Jika objek sumber adalah tautan simbolik, hanya tautan simbolik yang disalin. Objek yang ditunjuk oleh tautan simbolik tidak disalin.
Izin
Secara default, akun Alibaba Cloud memiliki izin penuh. Pengguna RAM atau Peran RAM di bawah akun Alibaba Cloud tidak memiliki izin apa pun secara default. Akun Alibaba Cloud atau administrator akun harus memberikan izin operasi melalui Kebijakan RAM atau Kebijakan Bucket.
API | Aksi | Definisi |
CopyObject |
| Menyalin objek dalam bucket yang sama atau antar bucket di wilayah yang sama. |
| ||
| Jika Anda menentukan versi objek sumber melalui versionId, izin ini juga diperlukan. | |
| Jika Anda menyalin tag objek melalui x-oss-tagging, izin ini diperlukan. | |
| ||
| Jika Anda menentukan tag versi tertentu dari objek sumber melalui versionId, izin ini juga diperlukan. | |
| Saat menyalin objek, jika metadata objek tujuan berisi X-Oss-Server-Side-Encryption: KMS, kedua izin ini diperlukan. | |
|
Sintaksis
ossutil api menyalin-objek --bucket nilai --key nilai --copy-source nilai [flags]Parameter | Tipe | Deskripsi |
--bucket | string | Nama bucket. |
--key | string | Path lengkap objek. |
--forbid-overwrite | string | Menentukan apakah operasi CopyObject diizinkan untuk menimpa objek yang ada dengan nama yang sama seperti objek yang ingin Anda salin. |
--copy-source | string | Alamat yang digunakan untuk mengakses objek sumber. format: |
--copy-source-if-match | string | Jika nilai ETag objek sumber sama dengan nilai ETag yang ditentukan dalam permintaan, OSS menyalin objek. Jika tidak, OSS mengembalikan kode status HTTP 412 (PreconditionFailed). |
--copy-source-if-modified-since | string | Kondisi transfer objek. Jika waktu yang ditentukan lebih awal daripada waktu modifikasi aktual objek, sistem mentransfer objek dan mengembalikan 200 OK. Jika tidak, sistem mengembalikan 304 Not Modified. |
--copy-source-if-none-match | string | Kondisi transfer objek. Jika nilai ETag yang ditentukan tidak cocok dengan nilai ETag objek sumber, OSS mentransfer objek dan mengembalikan 200 OK. Jika tidak, OSS mengembalikan 304 Not Modified. |
--copy-source-if-unmodified-since | string | Kondisi transfer objek. Jika waktu yang ditentukan sama dengan atau lebih baru daripada waktu modifikasi aktual, OSS mentransfer objek dan mengembalikan 200 OK. Jika tidak, OSS mengembalikan 412 Precondition Failed. |
--metadata | stringArray | Metadata pengguna objek dalam format key=value. Untuk menentukan metadata kustom, Anda harus mengonfigurasi parameter dengan awalan x-oss-meta-*. |
--metadata-directive | string | Metode yang digunakan untuk mengonfigurasi metadata objek tujuan. |
--object-acl | string | Menentukan daftar kontrol akses (ACL) objek. |
--server-side-encryption | string | Metode yang digunakan untuk mengenkripsi objek di server OSS. |
--server-side-encryption-key-id | string | ID kunci master pelanggan (CMK) yang dikelola oleh Key Management Service (KMS). |
--storage-class | string | Kelas penyimpanan objek. |
--tagging | string | Tag objek. |
--tagging-directive | string | Metode yang digunakan untuk menambahkan tag ke objek tujuan. |
Perintah menyalin-objek sesuai dengan operasi API CopyObject. Untuk informasi lebih lanjut tentang parameter di dalamnya, lihat CopyObject.
Untuk informasi lebih lanjut tentang opsi baris perintah global yang didukung, lihat Opsi Baris Perintah.
Contoh
Salin
srcObjectdarisrcBucketkeexamplebucketsebagaiexampleobject.ossutil api menyalin-objek --bucket examplebucket --key exampleobject --copy-source /srcBucket/srcObjectSalin
srcObjectdariexamplebucketsebagaiexampleobject.ossutil api menyalin-objek --bucket examplebucket --key exampleobject --copy-source /examplebucket/srcObjectSalin
srcObjectdariexamplebucketsebagaiexampleobjectdan tampilkan hasilnya dalam format JSON.ossutil api menyalin-objek --bucket examplebucket --key exampleobject --copy-source /examplebucket/srcObject --output-format jsonSalin
srcObjectdariexamplebucketsebagaiexampleobjectdan tampilkan hasilnya dalam format YAML.ossutil api menyalin-objek --bucket examplebucket --key exampleobject --copy-source /examplebucket/srcObject --output-format yamlSalin
srcObjectdariexamplebucketsebagaiexampleobjectdan larangexampleobjectmenimpa objek yang ada dengan nama yang sama.ossutil api menyalin-objek --bucket examplebucket --key exampleobject --copy-source /examplebucket/srcObject --forbid-overwrite trueSalin
srcObjectdariexamplebucketsebagaiexampleobjectjika nilai ETagsrcObjectsama dengan 123.ossutil api menyalin-objek --bucket examplebucket --key exampleobject --copy-source /examplebucket/srcObject --copy-source-if-match 123Salin
srcObjectdariexamplebucketsebagaiexampleobjectjika waktu modifikasisrcObjectlebih awal dari Mon, 11 May 2020 08:16:23 GMT.ossutil api menyalin-objek --bucket examplebucket --key exampleobject --copy-source /examplebucket/srcObject --copy-source-if-unmodified-since "Mon, 11 May 2020 08:16:23 GMT"Salin
srcObjectdariexamplebucketsebagaiexampleobject. Metadata yang ditentukan dalam permintaan digunakan alih-alih metadatasrcObject.ossutil api menyalin-objek --bucket examplebucket --key exampleobject --copy-source /examplebucket/srcObject --metadata-directive REPLACE --metadata user=aliyun --metadata email=ali***@aliyuncs.comSalin
srcObjectdariexamplebucketsebagaiexampleobject. Tag yang ditentukan dalam permintaan ditambahkan keexampleobject.ossutil api copy-object --bucket examplebucket --key exampleobject --copy-source /examplebucket/srcObject --tagging-directive Replace --tagging "TagA=A&TagB=B"Salin
srcObjectdariexamplebucketsebagaiexampleobjectdan tentukan ACL serta kelas penyimpanan objek.ossutil api menyalin-objek --bucket examplebucket --key exampleobject --copy-source /examplebucket/srcObject --object-acl private --storage-class IA