Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:PutBucketReplication

Son Güncelleme:Oct 01, 2026

Bir paket için veri çoğaltma kuralı belirtmek üzere PutBucketReplication işlemini kullanın. OSS, bölgeler arası çoğaltmayı (CRR) ve aynı bölge içinde çoğaltmayı (SRR) destekler.

Kullanım notları

Veri çoğaltma, nesneleri kaynak paketten hedef pakete eşzamansız olarak kopyalar. Bu süreç; nesne oluşturma, güncelleme ve silme gibi işlemleri kapsar. Veri çoğaltmayı kullanırken aşağıdaki hususlara dikkat edin:

  • Veri çoğaltma eşzamansızdır. Verilerin hedef pakete kopyalanması için gereken süre, veri boyutuna bağlı olarak birkaç dakikadan birkaç saate kadar değişebilir.

  • Kaynak paket ile hedef paketin adı aynı olamaz.

  • Bölgeler arası çoğaltma kullanırken kaynak ve hedef paketlerin farklı veri merkezlerinde bulunması gerekir. Aynı bölge içinde çoğaltma kullanırken ise her iki paketin de aynı veri merkezinde yer alması şarttır.

Veri çoğaltma hakkında daha fazla bilgi için bkz. Bölgeler arası çoğaltmaya giriş ve Aynı bölge içinde çoğaltmaya giriş.

İstek sözdizimi

POST /?replication&comp=add HTTP/1.1
Date: GMT Date
Content-Length: ContentLength
Content-Type: application/xml
Authorization: SignatureValue
Host: BucketName.oss-cn-hangzhou.aliyuncs.com

<?xml version="1.0" encoding="UTF-8"?>
<ReplicationConfiguration>
   <Rule>     
        <RTC>
            <Status>enabled or disabled</Status>
        </RTC>
        <PrefixSet>
            <Prefix>prefix_1</Prefix>
            <Prefix>prefix_2</Prefix>
        </PrefixSet>
        <Action>ALL or PUT</Action>
        <Destination>
            <Bucket>destbucket</Bucket>
            <Location>oss-cn-hangzhou</Location>
            <TransferType>oss_acc</TransferType>
        </Destination>
        <HistoricalObjectReplication>enabled or disabled</HistoricalObjectReplication>
        <SyncRole>aliyunramrole</SyncRole>
        <UserTaggings>
            <FilterType>AND or OR</FilterType>
            <UserTagging>
                <Key>key1</Key>
                <Value>value1</Value>
            </UserTagging>
            ...
        </UserTaggings>
   </Rule>
</ReplicationConfiguration>

İstek öğeleri

Ad

Tür

Gerekli

Örnek

Açıklama

ReplicationConfiguration

Konteyner

Evet

Yok

Paketin veri çoğaltma kuralları için kullanılan konteyner.

Üst düğüm: Yok

Alt düğüm: Rule

Rule

Konteyner

Evet

Yok

Veri çoğaltma kuralı için kullanılan konteyner.

Üst düğüm: ReplicationConfiguration

Alt düğümler: Destination, HistoricalObjectReplication, ID, UserTaggings ve diğerleri

ID

Dize

Hayır

first

Veri çoğaltma kuralının benzersiz kimliği.

Üst düğüm: Rule

Alt düğümler: Yok

PrefixSet

Konteyner

Hayır

Yok

Önekler için kullanılan konteyner. Her veri çoğaltma kuralında en fazla 10 önek belirtebilirsiniz.

Üst düğüm: Rule

Alt düğüm: Prefix

Prefix

Dize

Hayır

source1

Çoğaltılacak nesnelerin öneki. Yalnızca önekle eşleşen nesneler hedef pakete çoğaltılır.

  • Önek uzunluğu en fazla 1.023 karakter olabilir.

  • Bir önek yapılandırırsanız hem yeni yazılan veriler hem de geçmiş veriler bu öneke göre çoğaltılır.

Üst düğüm: PrefixSet

Alt düğümler: Yok

Action

Dize

Hayır

ALL

Hedef pakete çoğaltılacak işlemler. Bir eylem yapılandırırsanız hem yeni yazılan veriler hem de geçmiş veriler belirtilen eyleme göre çoğaltılır.

Aşağıdaki geçerli değerlerden birini veya birden fazlasını belirtebilirsiniz.

Geçerli değerler:

  • ALL (varsayılan): PUT, DELETE ve ABORT işlemlerini hedef pakete çoğaltır.

    Önemli

    Yeni yüklenen ve güncellenen nesnelerin çoğaltılmasının yanı sıra, bu çoğaltma ilkesi silme işlemlerini de kapsayarak veri tutarlılığını sağlar. Birden fazla kullanıcının veya uygulamanın aynı veri kümesini paylaşması ve erişmesi gereken senaryolar için uygundur. Kaynak paketten manuel olarak veya yaşam döngüsü ilkeleri aracılığıyla silinen nesneler, hedef paketten de silinir. Nesneler silindikten sonra geri alınamaz.

  • PUT: Yazma işlemlerini hedef pakete çoğaltır. Bu işlemler arasında PutObject, PostObject, AppendObject, CopyObject, PutObjectACL, InitiateMultipartUpload, UploadPart, UploadPartCopy ve CompleteMultipartUpload bulunur.

    Önemli

    Bu çoğaltma ilkesi uygulandığında, yalnızca ilke yürürlüğe girdikten sonra yüklenen veya güncellenen nesneler hedef pakete çoğaltılır ve kaynak paketten silinen nesneler hedef paketten silinmez. Bu ilke, kaynak paketteki manuel silme veya yaşam döngüsü ilkeleri tarafından tetiklenen otomatik silme işlemleri nedeniyle hedef pakette oluşabilecek veri kaybını etkili bir şekilde önler.

Üst düğüm: Rule

Alt düğümler: Yok

Destination

Konteyner

Evet

Yok

Hedef paket bilgileri için kullanılan konteyner.

Üst düğüm: Rule

Alt düğümler: Bucket ve Location

Bucket

Dize

Evet

destbucket

Veri çoğaltma için hedef paket.

Üst düğüm: Destination

Alt düğümler: Yok

Location

Dize

Evet

oss-cn-hangzhou

Hedef paketin bulunduğu bölge.

Üst düğüm: Destination

Alt düğümler: Yok

TransferType

Dize

Evet

oss_acc

Veri çoğaltma için kullanılan veri iletim bağlantısı.

Geçerli değerler:

  • internal (varsayılan): Varsayılan OSS iletim bağlantısı.

  • oss_acc: Hızlandırılmış aktarım bağlantısı. Hızlandırılmış aktarım bağlantısını yalnızca bölgeler arası çoğaltma kuralı oluştururken kullanabilirsiniz. Bu seçenek yapılandırıldığında, hızlandırılmış aktarım hedef pakette otomatik olarak etkinleştirilir. Önceden manuel olarak etkinleştirmeniz gerekmez.

Üst düğüm: Destination

Alt düğümler: Yok

HistoricalObjectReplication

Dize

Hayır

disabled

Geçmiş verilerin çoğaltılıp çoğaltılmayacağını belirtir. Bu ayar, veri çoğaltma etkinleştirilmeden önce kaynak pakette bulunan verilerin hedef pakete kopyalanıp kopyalanmayacağını belirler.

Geçerli değerler:

  • enabled (varsayılan): Geçmiş verileri çoğaltır.

  • disabled: Geçmiş verileri çoğaltmaz. Yalnızca veri çoğaltma kuralı oluşturulduktan sonra yazılan veriler çoğaltılır.

Üst düğüm: Rule

Alt düğümler: Yok

SyncRole

Dize

Evet

aliyunramrole

OSS'in veri çoğaltma için kullanmasına yetki verdiğiniz RAM rolü. Veri çoğaltma aynı hesap içinde veya farklı hesaplar arasında gerçekleştirilebilir. Her iki senaryoda da RAM rolüne gerekli çoğaltma izinlerini vermelisiniz; aksi takdirde çoğaltma görevi tamamlanamaz. Daha fazla bilgi için bkz. Veri çoğaltma izinleri.

Üst düğüm: Rule

Alt düğümler: Yok

SourceSelectionCriteria

Konteyner

Hayır

Yok

Çoğaltılacak kaynak nesneleri tanımlayan diğer filtre koşulları için kullanılan konteyner. OSS şu anda yalnızca SSE-KMS ile şifrelenmiş kaynak nesneler için filtre koşulları belirlemeyi desteklemektedir.

Üst düğüm: Rule

Alt düğüm: SseKmsEncryptedObjects

SseKmsEncryptedObjects

Konteyner

Hayır

Yok

SSE-KMS ile şifrelenmiş nesneleri filtrelemek için kullanılan konteyner. Veri çoğaltma kuralında SourceSelectionCriteria belirtirseniz bu öğeyi de belirtmeniz gerekir.

Üst düğüm: SourceSelectionCriteria

Alt düğüm: Status

Status

Dize

Hayır

Enabled

OSS'in SSE-KMS şifrelemesiyle oluşturulan nesneleri çoğaltıp çoğaltmayacağını belirtir. Geçerli değerler:

  • Enabled: SSE-KMS şifrelemesiyle oluşturulan nesneleri çoğaltır.

  • Disabled (varsayılan): SSE-KMS şifrelemesiyle oluşturulan nesneleri çoğaltmaz.

Üst düğüm: SseKmsEncryptedObjects

Alt düğümler: Yok

EncryptionConfiguration

Konteyner

Hayır

Yok

Hedef nesneler için şifreleme yapılandırması. Status değerini Enabled olarak ayarlarsanız bu öğeyi belirtmeniz gerekir.

Üst düğüm: Rule

Alt düğüm: ReplicaKmsKeyID

ReplicaKmsKeyID

Dize

Hayır

c4d49f85-ee30-426b-a5ed-95e9139d****

SSE-KMS anahtarının kimliği. Status değerini Enabled olarak ayarlarsanız bu öğeyi belirtmeniz gerekir.

Üst düğüm: EncryptionConfiguration

Alt düğümler: Yok

RTC

Konteyner

Hayır

Yok

Çoğaltma zamanı kontrolü (RTC) özelliğinin durumu.

Üst düğüm: Rule

Alt düğüm: Status

Status

Dize

Hayır

Enabled

RTC özelliğini etkinleştirir veya devre dışı bırakır. RTC özelliğini yalnızca bölgeler arası çoğaltma için yapılandırabilirsiniz.

Geçerli değerler:

  • enabled: RTC özelliğini etkinleştirir.

  • disabled (varsayılan): RTC özelliğini devre dışı bırakır.

Üst düğüm: RTC

Alt düğümler: Yok

Not

RTC özelliğini destekleyen bölgeler hakkında daha fazla bilgi için bkz. RTC'yi destekleyen bölgeler.

UserTaggings

Konteyner

Hayır

Yok

Etiket filtreleme kuralları için kullanılan konteyner. Bu öğeyi yapılandırdığınızda yalnızca belirtilen etiketlere sahip nesneler hedef pakete çoğaltılır. UserTaggings yapılandırırken hem FilterType hem de UserTagging belirtmeniz gerekir.

Üst düğüm: Rule

Alt düğümler: FilterType ve UserTagging

FilterType

Dize

Hayır

OR

Etiket filtreleme ilkesi. Bu değer büyük/küçük harfe duyarlıdır. Geçerli değerler:

  • AND: Nesnenin tüm etiketleri, etiket filtreleme kuralında belirtilen etiket kümesinde yer alıyorsa nesne çoğaltılır.

  • OR: Nesnenin herhangi bir etiketi, etiket filtreleme kuralında belirtilen etiket kümesinde yer alıyorsa nesne çoğaltılır.

Üst düğüm: UserTaggings

Alt düğümler: Yok

UserTagging

Konteyner

Hayır

Yok

Tek bir etiket anahtar-değer çifti için kullanılan konteyner. En fazla 10 etiket belirtebilirsiniz. Belirttiğiniz etiket anahtar-değer çiftleri yinelenemez.

Üst düğüm: UserTaggings

Alt düğümler: Key ve Value

Key

Dize

Hayır

env

Etiket anahtarı. Etiket anahtarı uzunluğu en fazla 128 karakter olabilir. Bu değer büyük/küçük harfe duyarlıdır. Etiket anahtarı harf, rakam, boşluk ve şu özel karakterleri içerebilir: +‑=._:/

Üst düğüm: UserTagging

Alt düğümler: Yok

Value

Dize

Hayır

test

Etiket değeri. Etiket değeri uzunluğu en fazla 256 karakter olabilir. Bu değer büyük/küçük harfe duyarlıdır. Etiket değeri harf, rakam, boşluk ve şu özel karakterleri içerebilir: +‑=._:/

Üst düğüm: UserTagging

Alt düğümler: Yok

Bu işlem ayrıca Host ve Date gibi ortak istek üstbilgilerini de gerektirir. Daha fazla bilgi için bkz. Ortak istek üstbilgileri.

Yanıt üstbilgileri

Bu işlem yalnızca ortak yanıt üstbilgilerini döndürür. Daha fazla bilgi için bkz. Ortak yanıt üstbilgileri.

Örnekler

  • İstek örneği 1 (OR filtre ilkesi)

POST /?replication&comp=add HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com 
Content-Type: application/xml
Content-Length: 186
Date: Thu, 17 Apr 2025 15:39:12 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<?xml version="1.0" encoding="UTF-8"?>
<ReplicationConfiguration>
  <Rule>  
     <RTC>
        <Status>enabled</Status>
     </RTC>
     <PrefixSet>
        <Prefix>source1</Prefix>
        <Prefix>video</Prefix>
     </PrefixSet>
     <Action>PUT</Action>
     <Destination>
        <Bucket>destbucket</Bucket>
        <Location>oss-cn-beijing</Location>
        <TransferType>oss_acc</TransferType>
     </Destination>
     <HistoricalObjectReplication>enabled</HistoricalObjectReplication>
      <SyncRole>aliyunramrole</SyncRole>
      <SourceSelectionCriteria>
         <SseKmsEncryptedObjects>
           <Status>Enabled</Status>
         </SseKmsEncryptedObjects>
      </SourceSelectionCriteria>
      <EncryptionConfiguration>
           <ReplicaKmsKeyID>c4d49f85-ee30-426b-a5ed-95e9139d****</ReplicaKmsKeyID>
      </EncryptionConfiguration>
      <UserTaggings>
           <FilterType>OR</FilterType>
           <UserTagging>
               <Key>env</Key>
               <Value>test</Value>
           </UserTagging>
           <UserTagging>
               <Key>dept</Key>
               <Value>dev</Value>
           </UserTagging>
      </UserTaggings>
  </Rule>
</ReplicationConfiguration>
  • İstek örneği 2 (AND filtre ilkesi)

POST /?replication&comp=add HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com 
Content-Type: application/xml
Content-Length: 350
Date: Thu, 17 Apr 2025 16:00:00 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=b8d4e5f6a7c8d9e0f1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4
<?xml version="1.0" encoding="UTF-8"?>
<ReplicationConfiguration>
  <Rule>  
     <PrefixSet>
        <Prefix>source1</Prefix>
        <Prefix>video</Prefix>
     </PrefixSet>
     <Action>PUT</Action>
     <Destination>
        <Bucket>destbucket</Bucket>
        <Location>oss-cn-beijing</Location>
        <TransferType>oss_acc</TransferType>
     </Destination>
     <HistoricalObjectReplication>disabled</HistoricalObjectReplication>
      <SyncRole>aliyunramrole</SyncRole>
      <UserTaggings>
           <FilterType>AND</FilterType>
           <UserTagging>
               <Key>env</Key>
               <Value>production</Value>
           </UserTagging>
           <UserTagging>
               <Key>dept</Key>
               <Value>finance</Value>
           </UserTagging>
      </UserTaggings>
  </Rule>
</ReplicationConfiguration>
  • Yanıt örneği

HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906****
Date: Thu, 24 Sep 2025 15:39:12 GMT
Content-Length: 0
Connection: close
Server: AliyunOSS

SDK

Bu işlem için farklı dillerdeki SDK'lar aşağıda listelenmiştir:

ossutil komut satırı aracı

Bu işleme karşılık gelen ossutil komutu için bkz. put-bucket-replication.

Hata kodları

Hata kodu

HTTP durum kodu

Açıklama

InvalidTargetBucket

400 BadRequest

Bu hata aşağıdaki nedenlerle oluşabilir:

  • Hedef paketin adı, kaynak paketin adıyla aynıdır.

  • Hedef paket mevcut değildir.

  • Hedef paket ve kaynak paket aynı kullanıcıya ait değildir.

InvalidTargetLocation

400 BadRequest

Hedef paketin konumu, istek XML'inde belirtilen konumdan farklıdır.

BucketReplicationAlreadyExist

400 BadRequest

Kaynak paketten hedef pakete zaten bir çoğaltma ilişkisi mevcuttur.

Yeni bir veri çoğaltma kuralı yapılandırmak için önce mevcut kuralı silin.

BadReplicationLocation

400 BadRequest

Belirtilen hedef veri merkezi geçersizdir.

Geçerli hedef veri merkezlerini elde etmek için GetBucketReplicationLocation işlemi çağrılabilir.

NoReplicationLocation

400 BadRequest

Bölgeler arası çoğaltma kullanırken, kaynak paketin veri merkezinin bölgeler arası çoğaltma için eşleştirilmiş bir veri merkezi bulunmamaktadır.

Bölgeler arası çoğaltma için eşleştirilmiş veri merkezleri hakkında daha fazla bilgi için bkz. Uç noktalar ve veri merkezleri.

TooManyReplicationRules

400 BadRequest

İstekte birden fazla veri çoğaltma kuralı yapılandırılmıştır.

Tek bir istekte yalnızca bir veri çoğaltma kuralı yapılandırabilirsiniz.

TooManyIncomingReplication

400 BadRequest

Paket için yapılandırılan veri çoğaltma kuralı sayısı 100 sınırına ulaşmıştır. Artık kullanılmayan veri çoğaltma kurallarını silip tekrar deneyin.

Bir paket için en fazla 100 veri çoğaltma kuralı yapılandırabilirsiniz. İş gereksinimleriniz bu sınırı aşarsa lütfen teknik destek ile iletişime geçin.

TooManyOutgoingReplication

400 BadRequest

Paket için yapılandırılan veri çoğaltma kuralı sayısı 100 sınırına ulaşmıştır. Artık kullanılmayan veri çoğaltma kurallarını silip tekrar deneyin.

Bir paket için en fazla 100 veri çoğaltma kuralı yapılandırabilirsiniz. İş gereksinimleriniz bu sınırı aşarsa lütfen teknik destek ile iletişime geçin.

MissingArgument

400 BadRequest

Veri iletim bağlantısı belirtilmemiştir.

InvalidArgument

400 BadRequest

Belirtilen veri iletim bağlantısı desteklenmemektedir.

ReplicationLocationNotSupportRtc

400 BadRequest

Bu bölgede RTC özelliği etkinleştirilemez. RTC özelliğini destekleyen bölgeler hakkında daha fazla bilgi için bkz. RTC bölgeleri.

TooManyTaggings

400 BadRequest

Paket için yapılandırılan veri çoğaltma kuralındaki etiket sayısı 10'u aşamaz.

DuplicateReplicationRuleTaggings

400 BadRequest

Paket için yapılandırılan veri çoğaltma kuralı, anahtarları ve değerleri yinelenen etiketler içermektedir.

DuplicateReplicationRuleTaggingKeys

400 BadRequest

Paket için yapılandırılan veri çoğaltma kuralında FilterType AND olarak ayarlanmış ve yinelenen etiket anahtarları bulunmaktadır.