Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:copy-object

Son Güncelleme:Oct 01, 2026

copy-object komutu, aynı bölgedeki aynı paket veya farklı paketlerde depolanan nesneleri kopyalamak için kullanılır.

Notlar

  • Bir nesnenin önceki sürümünü geçerli sürüme geri yüklemek için nesnenin önceki sürümünü, nesnenin depolandığı pakete kopyalayabilirsiniz. OSS, nesnenin önceki sürümünü geçerli sürüm olarak depolar.

  • Aynı paket içinde nesne kopyalanıyorsa kopyalanan nesnenin boyutu üzerinde bir sınır bulunmaz. Aynı bölgedeki paketler arasında nesne kopyalıyorsanız bu işlemi 1 GB'tan küçük nesneler için çağırmanızı öneririz. 1 GB'tan büyük nesneleri kopyalamak için upload-part-copy komutunu çalıştırabilirsiniz.

  • Kaynak nesne bir sembolik bağlantıysa yalnızca sembolik bağlantı kopyalanır. Sembolik bağlantının işaret ettiği nesne kopyalanmaz.

İzinler

Varsayılan olarak bir Alibaba Cloud hesabı tam izinlere sahiptir. Bir Alibaba Cloud hesabı altındaki RAM kullanıcıları veya RAM rolleri varsayılan olarak herhangi bir izne sahip değildir. Alibaba Cloud hesabı veya hesap yöneticisi, RAM ilkeleri veya Paket İlkesi aracılığıyla işlem izinleri vermelidir.

API

Action

Description

CopyObject

oss:GetObject

Nesneleri bir paket içinde veya aynı bölgedeki paketler arasında kopyalar.

oss:PutObject

oss:GetObjectVersion

Kaynak nesne sürümünü versionId üzerinden belirtirseniz bu izin de gereklidir.

oss:GetObjectTagging

Nesne etiketlerini x-oss-tagging aracılığıyla kopyalarsanız bu izinler gereklidir.

oss:PutObjectTagging

oss:GetObjectVersionTagging

Kaynak nesnenin belirli bir sürümünün etiketlerini versionId üzerinden belirtirseniz bu izin de gereklidir.

kms:GenerateDataKey

Bir nesneyi kopyalarken hedef nesne meta verileri X-Oss-Server-Side-Encryption: KMS içeriyorsa bu iki izin gereklidir.

kms:Decrypt

Sözdizimi

ossutil api copy-object --bucket value --key value --copy-source value [flags]


Parametre


Tür


Açıklama


--bucket


dize


Paket adı.


--key


dize


Nesnenin tam yolu.


--forbid-overwrite


dize


CopyObject işleminin, kopyalamayı amaçladığınız nesnelerle aynı ada sahip mevcut nesnelerin üzerine yazmasına izin verilip verilmeyeceğini belirtir.


--copy-source


dize


Kaynak nesneye erişmek için kullanılan adres. Biçim: bucket/UrIEncode(key). Kaynak nesneyi okuma izinlerine sahip olmanız gerekir. Kaynak nesnenin adı URL kodlamalı olmalıdır.


--copy-source-if-match


dize


Kaynak nesnenin ETag değeri istekte belirtilen ETag değeriyle aynıysa OSS nesneyi kopyalar. Aksi takdirde OSS HTTP durum kodu 412 (PreconditionFailed) döndürür.


--copy-source-if-modified-since


dize


Nesne aktarımı koşulu. Belirtilen zaman nesnenin gerçek değiştirilme zamanından önceyse sistem nesneyi aktarır ve 200 OK döndürür. Aksi takdirde sistem 304 Not Modified döndürür.


--copy-source-if-none-match


dize


Nesne aktarımı koşulu. Belirtilen ETag değeri kaynak nesnenin ETag değeriyle eşleşmiyorsa OSS nesneyi aktarır ve 200 OK döndürür. Aksi takdirde OSS 304 Not Modified döndürür.


--copy-source-if-unmodified-since


dize


Nesne aktarımı koşulu. Belirtilen zaman gerçek değişiklik zamanıyla aynıysa veya ondan sonraysa OSS nesneyi aktarır ve 200 OK döndürür. Aksi takdirde OSS 412 Precondition Failed döndürür.


--metadata


dizeDizisi


Nesnenin anahtar=değer biçimindeki kullanıcı meta verileri. Özel meta veri belirtmek için x-oss-meta-* ön ekiyle başlayan parametreleri yapılandırmanız gerekir.


--metadata-directive


dize


Hedef nesnenin meta verilerini yapılandırmak için kullanılan yöntem.


--object-acl


dize


Nesnenin erişim kontrol listesini (ACL) belirtir.


--server-side-encryption


dize


Nesneleri OSS sunucusunda şifrelemek için kullanılan yöntem.


--server-side-encryption-key-id


dize


Key Management Service (KMS) tarafından yönetilen müşteri ana anahtarının (CMK) kimliği.


--storage-class


dize


Nesnenin depolama sınıfı.


--tagging


dize


Nesnenin etiketleri.


--tagging-directive


dize


Hedef nesneye etiket eklemek için kullanılan yöntem.

Not
  • copy-object komutu CopyObject API işlemine karşılık gelir. Parametreler hakkında daha fazla bilgi için bkz. CopyObject.

  • Desteklenen genel komut satırı seçenekleri hakkında daha fazla bilgi için bkz. Komut satırı seçenekleri.

Örnekler

  • srcBucket paketinden srcObject öğesini examplebucket paketine exampleobject olarak kopyalayın.

    ossutil api copy-object --bucket examplebucket --key exampleobject --copy-source /srcBucket/srcObject
  • examplebucket paketinden srcObject öğesini exampleobject olarak kopyalayın.

    ossutil api copy-object --bucket examplebucket --key exampleobject --copy-source /examplebucket/srcObject
  • examplebucket paketinden srcObject öğesini exampleobject olarak kopyalayın ve sonucu JSON biçiminde görüntüleyin.

    ossutil api copy-object --bucket examplebucket --key exampleobject --copy-source /examplebucket/srcObject --output-format json
  • examplebucket paketinden srcObject öğesini exampleobject olarak kopyalayın ve sonucu YAML biçiminde görüntüleyin.

    ossutil api copy-object --bucket examplebucket --key exampleobject --copy-source /examplebucket/srcObject --output-format yaml
  • examplebucket paketinden srcObject öğesini exampleobject olarak kopyalayın ve exampleobject öğesinin aynı ada sahip mevcut nesnenin üzerine yazmasını yasaklayın.

    ossutil api copy-object --bucket examplebucket --key exampleobject --copy-source /examplebucket/srcObject --forbid-overwrite true
  • srcObject öğesinin ETag değeri 123'e eşitse examplebucket paketinden srcObject öğesini exampleobject olarak kopyalayın.

    ossutil api copy-object --bucket examplebucket --key exampleobject --copy-source /examplebucket/srcObject --copy-source-if-match 123
  • srcObject öğesinin değiştirilme zamanı Mon, 11 May 2020 08:16:23 GMT'den önceyse examplebucket paketinden srcObject öğesini exampleobject olarak kopyalayın.

    ossutil api copy-object --bucket examplebucket --key exampleobject --copy-source /examplebucket/srcObject --copy-source-if-unmodified-since "Mon, 11 May 2020 08:16:23 GMT"
  • examplebucket paketinden srcObject öğesini exampleobject olarak kopyalayın. İstekte belirtilen meta veriler srcObject meta verileri yerine kullanılır.

    ossutil api copy-object --bucket examplebucket --key exampleobject --copy-source /examplebucket/srcObject --metadata-directive REPLACE --metadata user=aliyun --metadata email=ali***@aliyuncs.com
  • examplebucket paketinden srcObject öğesini exampleobject olarak kopyalayın. İstekte belirtilen etiketler exampleobject öğesine eklenir.

    ossutil api copy-object --bucket examplebucket --key exampleobject --copy-source /examplebucket/srcObject --tagging-directive Replace --tagging "TagA=A&TagB=B"
  • examplebucket paketinden srcObject öğesini exampleobject olarak kopyalayın ve nesnenin ACL ile depolama sınıfını belirtin.

    ossutil api copy-object --bucket examplebucket --key exampleobject --copy-source /examplebucket/srcObject --object-acl private --storage-class IA