Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:Lifecycle overview

Son Güncelleme:Oct 01, 2026

Veri erişim sıklığı zamanla azalır. Yaşam döngüsü yönetimi, nesneleri daha düşük maliyetli depolama sınıflarına (örneğin Seyrek Erişim veya Arşiv) otomatik olarak geçiren veya belirli bir sürenin ardından silen kurallar oluşturmanıza olanak tanır. Bu sayede manuel müdahale gerekmeden depolama maliyetlerini düşürürsünüz.

Nasıl Çalışır

Yaşam döngüsü yönetimi, bir paketteki nesneler üzerinde gerçekleştirilecek işlemleri otomatikleştirmek için kullanıcı tanımlı kuralları kullanır. OSS, yeni bir kuralı oluşturulduktan sonraki 24 saat içinde yükler. Kural yüklendikten sonra OSS, eşleşen kuralları her gün sabit bir saatte, genellikle bir sonraki gün 00:00 UTC'de (UTC+8 ile 08:00) yürütür.

Bir yaşam döngüsü kuralı üç ana bölümden oluşur:

  1. Yönetilecek nesneler: Hedef nesneleri nesne ön eki (Prefix), nesne etiketi (Tag) veya nesne boyutuna (ObjectSize) göre filtreleyin.

    Yaşam döngüsü kuralları joker karakterleri, son ek eşleştirmeyi veya düzenli ifadeleri desteklemez.
  2. Gerçekleştirilecek eylemler: Filtrelenen nesnelerle ne yapılacağını tanımlayın:

    • Depolama sınıfı geçişi (Transition): Nesneleri Seyrek Erişim, Arşiv veya Soğuk Arşiv gibi daha düşük maliyetli depolama sınıflarına geçirin.

    • Süresi dolma ve silme (Expiration): Nesneler belirtilen yaşam döngüsü süresine ulaştığında bunları silin.

    • Parça temizliği (AbortMultipartUpload): Belirli bir sürenin ardından tamamlanmamış çok parçalı yüklemelere ait parçaları otomatik olarak silin.

  3. Tetikleme ilkeleri: Eylemlerin ne zaman tetikleneceğini tanımlayın:

    • Son değiştirilme zamanı (Last-Modified-Time): Nesneleri son değiştirilme zamanına göre geçirin veya silin. Günlük kayıtları ve yedeklemeler gibi net bir yaşam döngüsüne sahip veriler için uygundur.

    • Son erişim zamanı (Last-Access-Time): Erişim izleme özelliğini etkinleştirdikten sonra nesneleri son erişim zamanına göre geçirin. Öngörülemeyen erişim desenleri (örneğin materyal kitaplığı) için uygundur. Soğuk veriler otomatik olarak düşürülür ve erişildiğinde geri yüklenir.

Yapılandırılabilen tüm parametreler Yaşam döngüsü yapılandırma öğeleri bölümünde belgelenmiştir.

Yapılandırma Senaryoları

Süresi dolmuş günlük dosyalarını otomatik olarak temizleme

Sunucular günlükleri her gün belirlenen bir dizine yükler. Depolama alanını serbest bırakmak ve maliyetleri azaltmak için son değiştirilme zamanı kuralını kullanarak belirtilen sayıda günün ardından bir paketteki tüm nesneleri silin.

Sıcak ve soğuk veriler için otomatik depolama katmanlamasını kullanma

Erişim sıklığı belirsiz olan veriler (web sitesi görselleri, videolar, belgeler) için erişim izlemeyi etkinleştirin ve akıllı veri katmanlama uygulamak üzere son erişim zamanına dayalı bir yaşam döngüsü kuralı kullanın. Sistem, gerçek erişim desenlerine göre soğuk verileri daha düşük maliyetli depolama sınıflarına geçirir.

Önceki sürümleri otomatik olarak temizleme

Sürüm oluşturma etkinleştirildiğinde üzerine yazma ve silme işlemleri önceki sürümler olarak kaydedilir. Bir pakette çok sayıda önceki sürüm veya süresi dolmuş silme işaretçisi biriktiğinde depolama maliyetlerini azaltmak için sürüm oluşturma ile birlikte son değiştirilme zamanına dayalı bir yaşam döngüsü kuralı kullanın. Bu yaklaşım maliyetleri düşürür ve nesne listeleme performansını artırır.

Çok parçalı yüklemelerden kalan parçaları otomatik olarak temizleme

Kesintiye uğrayan çok parçalı yüklemeler, ücretlendirmeye devam eden birleştirilmemiş parçalar bırakır. Belirtilen bir sürenin ardından tamamlanmamış parçaları temizlemek için bir yaşam döngüsü kuralı yapılandırın.

Önceki senaryolara ek olarak daha ayrıntılı veri yönetimi ilkeleri uygulayabilirsiniz. Daha fazla bilgi için bkz. Yaşam döngüsü yapılandırma örnekleri. Gereksinimlerinize göre paketinizdeki verilerin ayrıntılı yönetimini sağlamak amacıyla farklı kuralları birleştirebilirsiniz.

Birden Çok Yaşam Döngüsü Kuralı

Birden çok yaşam döngüsü kuralı iki mekanizmaya dayanır: kural yürütme önceliği ve yapılandırma üzerine yazma mekanizması.

Kural Yürütme Önceliği

Bir pakette birden çok bağımsız yaşam döngüsü kuralı bulunabilir. Bir nesne birden çok kuralla eşleştiğinde nihai eylem tüm eşleşme sonuçlarına göre belirlenir.

Aynı anda birden çok kural aynı nesneyle eşleştiğinde aşağıdaki öncelik sırasına göre yürütülür: Nesneyi Sil > Derin Soğuk Arşive Geçiş > Soğuk Arşive Geçiş > Arşive Geçiş > Seyrek Erişime Geçiş > Standarta Geçiş.

Önemli

Silme eylemi her zaman depolama sınıfı geçişlerinden daha yüksek önceliğe sahiptir. Silme kuralları için zamanı geçiş kurallarından daha uzun olacak şekilde ayarlayın. Bu durum, geçiş tamamlanmadan önce nesnelerin silinmesini engeller.

Yürütme Örneği

Aşağıdaki iki yaşam döngüsü kuralını belirttiğinizi ve her iki kuralın da aynı nesneyle eşleştiğini varsayalım.

  • Kural 1: Son değiştirilme tarihi 365 günden eski olan nesnelerin Seyrek Erişim depolama sınıfına geçirilmesini belirtir.

  • Kural 2: Son değiştirilme tarihi 365 günden eski olan nesnelerin silinmesini belirtir.

Sonuç: Kurallarla eşleşen nesne, son değiştirilme tarihinden 365 gün sonra silinir.

Yapılandırma Üzerine Yazma Mekanizması

Konsol birleştirmeyi otomatik olarak işleyerek yanlışlıkla üzerine yazmayı önler. Ancak ossutil, SDK'lar veya API kullanırken her PutBucketLifecycle çağrısı mevcut tüm yaşam döngüsü yapılandırmalarını tamamen üzerine yazar. Mevcut kuralları dahil etmeden yeni bir kural gönderdiğinizde bu kurallar silinir.

Örnek

Mevcut kurallara yeni bir kural eklemek isterseniz aşağıdaki adımları uygulayın:

  1. Şu anda etkili olan tüm yaşam döngüsü kurallarını görüntüleyin (örneğin Kural 1).

  2. Yeni kuralı ekleyin (örneğin Kural 2).

  3. Tüm kuralları (Kural 1 + Kural 2) içeren eksiksiz yapılandırmayı yeniden gönderin.

Not: Mevcut kuralı (Kural 1) dahil etmeden yalnızca yeni kuralı (Kural 2) içeren yapılandırmayı gönderirseniz Kural 1 silinir ve artık etkili olmaz.

Canlıya Geçiş

Yaşam döngüsü yönetimini üretim ortamında güvenli bir şekilde dağıtmak için:

  • Dağıtmadan önce test edin: Önce bir test paketinde kurallar oluşturun. Bunları üretime uygulamadan önce davranışı doğrulayın.

  • Silme kurallarını dikkatli kullanın: Önemli verilerin yanlışlıkla silinmesini önlemek için ön eki kesin olarak belirleyin.

  • Güvence olarak sürüm oluşturmayı etkinleştirin: Kritik veriler için sürüm oluşturmayı etkinleştirin. Böylece yaşam döngüsü kuralı tarafından yanlışlıkla silinen nesneleri önceki bir sürümden kurtarabilirsiniz.

  • Ek ücretlerden kaçınmak için aşamalı geçişleri kullanın: Her sonraki aşamanın tetikleme zamanının, önceki aşamanın tetikleme zamanı ile minimum depolama süresinin toplamını aşmasını sağlayın. Bu durum erken geçişlerden kaynaklanan ücretleri önler.

    • Yanlış örnek: Standart 30 days -> Seyrek Erişim 40 days -> Arşiv Depolama. Nesne tekrar geçiş yapmadan önce yalnızca 10 gün boyunca IA'da kalır (< 30 days) ve ücretlendirilir.

    • Doğru örnek: Standart 30 days -> Seyrek Erişim 90 days -> Arşiv Depolama. Nesne Arşiv'e geçmeden önce 60 gün boyunca IA'da kalır (30 günlük minimumu karşılar) ve 90. günde Arşiv'e geçer.

Faturalama

Yaşam döngüsü kurallarını yapılandırmak ücretsizdir. Kurallar yürütüldüğünde ve depolama durumu değiştiğinde ücret uygulanır.

  1. İstek ücretleri: Her depolama sınıfı geçişi, nesne silme veya parça silme işlemi bir Put türü istek oluşturur. Ücretler istek başına tahakkuk eder. Faturalandırma ayrıntıları için Yaşam döngüsü ücret açıklaması bölümüne bakın.

    Çok sayıda küçük dosya içeren paketler için istek ücretleri önemli olabilir. Kuralları yapılandırmadan önce değerlendirin.
  2. Depolama ücretleri: Geçişten sonra nesneler yeni depolama sınıfı oranında faturalandırılır.

    Önemli

    Seyrek Erişim, Arşiv ve Soğuk Arşiv gibi depolama sınıflarında minimum depolama süresi gereksinimleri bulunur (örneğin Seyrek Erişim için 30 gün, Arşiv için 60 gün). Bir yaşam döngüsü kuralı nesneyi minimum depolama süresi dolmadan siler veya geçirirse kalan depolama süresi için ödeme yapmanız gerekir. Geçişler veya silmeler nedeniyle belirtilen süreden kısa depolama için koşullu kapasite ücretlerinden kaçınmak için Belirtilen süreden kısa depolama için kapasite ücretlerinden nasıl kaçınırım? konusuna bakın. Geçiş yapmadan veya silmeden önce minimum depolama süresinin karşılandığından emin olun.

  3. Veri getirme ücretleri: Yaşam döngüsü kuralları kendiliğinden veri getirme ücreti oluşturmaz. Ancak Seyrek Erişim veya Arşiv gibi depolama sınıflarındaki nesnelere erişmek getirme ücretlerine neden olur.

    • Bir IA nesnesini doğrudan okumak veri getirme ücretlerine neden olur.

    • Bir Arşiv nesnesini okumak gerçek zamanlı erişim için veri getirme kapasitesi ücretlerine neden olur.

    • Bir Arşiv nesnesini geri yüklemek Put türü istek ücretlerine ve getirme kapasitesi ücretlerine neden olur.

    • Soğuk Arşiv veya Derin Soğuk Arşiv nesnesini geri yüklemek getirme isteği ücretlerine, getirme kapasitesi ücretlerine ve geçici olarak geri yüklenmiş kapasite ücretlerine neden olur.

    Önemli

    Soğuk Arşiv ve Derin Soğuk Arşiv nesneleri için ücret seçtiğiniz getirme önceliğine göre değişir. Daha yüksek öncelik daha yüksek ücrete neden olur.

SSS

Son değiştirilme zamanına ve son erişim zamanına dayalı yaşam döngüsü kuralları arasındaki fark nedir?

Temel farklar şunlardır:

İlke

Son değiştirilme zamanına dayalı

Son erişim zamanına dayalı

Scenarios

Sabit veya öngörülebilir erişim desenlerine sahip veri senaryoları için uygundur.

Sabiti olmayan veya öngörülemeyen erişim desenlerine sahip veri senaryoları için uygundur.

Supports Object Deletion

Desteklenir.

Hayır.

Object Recovery After Deletion

  • Sürüm oluşturma etkin değilse silinen nesneler kurtarılamaz.

  • Sürüm oluşturma etkinleştirildiyse yaşam döngüsü kuralı geçerli sürüm nesnesini sildiğinde bu nesne önceki sürüm haline gelir ve kurtarılabilir. Ancak yaşam döngüsü kuralı önceki sürüm nesnesini sildiğinde kurtarılamaz.

Son erişim zamanına dayalı bir ilke silmeden sonra nesne kurtarmayı içermez.

Reversibility Of Storage Class Transition

Tersine çevrilemez. Bir nesne Standarttan IA'ya geçtikten sonra otomatik olarak geri dönemez. Ayrıntılar için Depolama sınıfı geçişi bölümüne bakın.

IA, Arşiv, Soğuk Arşiv veya Derin Soğuk Arşiv'e geçiş minimum faturalandırılabilir boyut, minimum depolama süresi ve veri getirme ücretlerini içerir. Ayrıntılar için Depolama sınıfı geçişi bölümüne bakın.

Tersine çevrilebilir. Bir nesne Standart depolama sınıfından Seyrek Erişim depolama sınıfına otomatik olarak geçtiğinde erişildiğinde Standart depolama sınıfına geri dönmesini de seçebilirsiniz.

Önemli

Bir nesne yalnızca GetObject API çağrısı aracılığıyla erişildiğinde "erişilmiş" kabul edilir. Diğer API çağrıları dahil değildir.

Bu durum ayrıca minimum faturalandırılabilir boyut, minimum depolama süresi ve veri getirme ücretlerini içerir. Ayrıntılar için Son erişim zamanına dayalı yaşam döngüsü kuralları bölümüne bakın.

Yaşam döngüsü kuralım neden çalışmıyor?

Aşağıdaki öğeleri kontrol edin:

  1. Etkili olma süresi: Kural 24 saatten daha uzun süre önce mi oluşturuldu? Yeni kuralların yüklenmesi için zamana ihtiyacı vardır.

  2. Önek eşleştirme: Kuraldaki ön ek doğru ayarlandı mı? Örneğin klasör logs/ şeklinde olmalıdır, logs şeklinde değil.

  3. Zaman koşulu: Nesnenin son değiştirilme veya son erişim zamanı gerçekten belirtilen gün sayısını karşılıyor mu?

  4. Ön koşul özelliği: Son erişim zamanına dayalı bir kural kullanıyorsanız paket için erişim izleme özelliğini etkinleştirdiniz mi?

Sürüm oluşturmayı etkinleştirdikten sonra bir nesneyi sildim. Depolama kullanımım neden azalmadı?

Sürüm oluşturma etkinleştirildiğinde silme işlemi yalnızca bir silme işaretçisi oluşturur. Orijinal nesne önceki sürüm haline gelir ve alan kaplamaya devam eder. Önceki sürümleri temizlemek için bir yaşam döngüsü kuralı oluşturun.

Yaşam döngüsü kuralını silersem dönüştürülen nesneler geri yüklenir mi?

Hayır. Bir kuralı silmek zaten yürütülen eylemleri geri almaz. Dönüştürülen nesneleri orijinal depolama sınıflarına manuel olarak geri yükleyin.

Sürüm oluşturma etkinleştirildikten sonra silinen bir nesne neden hala alan kaplıyor?

Sürüm oluşturma etkinleştirildiğinde silme işlemi bir silme işaretçisi oluşturur. Orijinal nesne önceki sürüm haline gelir ve alan kaplamaya devam eder. Önceki sürümleri silmek için bir kural yapılandırın.

Set bucket lifecycle error, InvalidArgument, Days in the Transition action for StorageClass Archive must be more than the Transition action for StorageClass IA hatasını alırsam ne yapmalıyım?

Bu hata farklı depolama sınıfları için geçiş sürelerinin gereksinimleri karşılamamasından kaynaklanır. Paket için yapılandırılan geçiş süresi şu şartı sağlamalıdır: Seyrek Erişim < Arşiv < Soğuk Arşiv < Derin Soğuk Arşiv.

OSS yaşam döngüsü özelliği dosya son eklerini eşleştirerek veri katmanlama veya silme eylemleri gerçekleştirebilir mi?

Yaşam döngüsü kuralları son ek eşleştirmeyi (örneğin .png) desteklemez. Aşağıdaki geçici çözümleri kullanın:

Yöntem 1: Nesneleri belirli bir ön ek kullanarak saklayın

Belirli bir son eke (örneğin .png dosyaları) sahip nesneleri images/ gibi bir ön ekle ayrılmış bir dizinde saklayın. Ardından images/ ön ekiyle eşleşen bir yaşam döngüsü kuralı yapılandırın.

Yöntem 2: Nesne etiketlerini kullanın

Tüm .png dosyalarına bir etiket (örneğin image:png) ekleyin ve ardından yaşam döngüsü kuralını etikete göre eşleşecek şekilde yapılandırın. Daha fazla bilgi için bkz. Nesneleri etiketleme.

Yaşam döngüsü kuralları bir paketteki mevcut nesnelere uygulanır mı?

Bir yaşam döngüsü kuralı kural yapılandırılmadan önce yüklenenler dahil tüm nesnelere uygulanır. Örneğin 7 Ekim'de yapılandırılan bir kural nesneleri 30 gün sonra silerse 5 Ekim'de yüklenen bir nesne 6 Kasım'da, 8 Ekim'de yüklenen bir nesne ise 9 Kasım'da silinir.

Bir veya daha fazla yaşam döngüsü kuralı yapılandırmasını nasıl değiştiririm?

Paketinizin iki yaşam döngüsü kuralı (Rule1 ve Rule2) olduğunu ve Rule1'i değiştirmek istediğinizi varsayalım:

  1. GetBucketLifecycle işlevini çağırarak mevcut tüm yaşam döngüsü kurallarını (Rule1 ve Rule2) alın.

  2. Rule1 yaşam döngüsü kuralının yapılandırma öğesini değiştirin.

  3. Güncellenen kuralları (Rule1 + Rule2) göndermek için PutBucketLifecycle işlevini çağırın.

Yaşam döngüsü kuralları tarafından gerçekleştirilen tür geçişleri ve süresi dolma silmeleri için günlük kaydı var mı?

Evet. Yaşam döngüsü kuralları tarafından gerçekleştirilen tüm başarılı tür geçişleri ve süresi dolma silmeleri günlüğe kaydedilir. Günlük alanları aşağıdaki gibidir:

  • İşlem

    • CommitTransition: Depolama sınıfını geçirir.

    • ExpireObject: Süresi dolmuş bir nesneyi siler.

  • Sync Request

    lifecycle: Tetiklenen geçiş ve silme işlemleri.

OSS günlük alanları Günlük alanı ayrıntıları bölümünde belgelenmiştir. Günlük sorgulama faturalandırması Faturalama bölümünde ele alınmıştır.

Nesne silme işaretçilerini ve geçerli sürüm nesnelerini aynı anda temizlemek için tek bir yaşam döngüsü kuralı oluşturabilir miyim?

Hayır, oluşturamazsınız. Nesne silme işaretçilerini temizlemek için bir kural ve geçerli sürüm nesnelerini silmek için başka bir kural oluşturmalısınız.

Yaşam döngüsü kurallarını kullanarak bir paketteki tüm dosyaları hızlıca nasıl temizlerim

Sürüm oluşturma devre dışı bırakılmış paket

Sürüm oluşturma özelliği devre dışı bırakılmış bir paket için yalnızca tüm dosyaları ve tamamlanmamış çok parçalı yüklemelerden kalan parçaları otomatik olarak ve hızlı bir şekilde temizlemek amacıyla bir yaşam döngüsü kuralı yapılandırmanız yeterlidir.

  1. OSS konsolunda oturum açın, Paket Listesi sayfasına gidin ve hedef paketi bulun.

  2. Soldaki gezinme bölmesinde Data Security > Versioning seçeneklerini belirleyin ve paket için sürüm oluşturmanın devre dışı bırakıldığını onaylayın.

    Versioning disabled

  3. Soldaki gezinme bölmesinde Data Management > Lifecycle seçeneklerini belirleyin. Paketteki tüm dosyaların son değiştirmeden 1 gün sonra otomatik olarak silinmesi için bir yaşam döngüsü kuralı ayarlayın. Ayrıca 1 günden daha uzun süre önce oluşturulan tamamlanmamış çok parçalı yüklemelerden kalan parçaları otomatik olarak temizleyin.

    screenshot_2025-07-01_17-59-32

Sürüm oluşturma etkinleştirilmiş paket

Bir paket için sürüm oluşturma etkinleştirildikten sonra geçerli sürüm nesneleri, önceki sürüm nesneleri, tamamlanmamış çok parçalı yüklemelerden kalan parçalar ve silme işaretçileri oluşturulur. Tüm bunları otomatik olarak ve hızlı bir şekilde temizlemek için yalnızca bir yaşam döngüsü kuralı yapılandırmanız yeterlidir.

  1. OSS konsolunda oturum açın, Paket Listesi sayfasına gidin ve hedef paketi bulun.

  2. Soldaki gezinme bölmesinde Data Security > Versioning seçeneklerini belirleyin ve paket için sürüm oluşturmanın etkinleştirildiğini onaylayın.

    screenshot_2025-07-02_10-58-23

  3. Soldaki gezinme bölmesinde Data Management > Lifecycle seçeneklerini belirleyin. Paketteki tüm geçerli ve önceki sürüm nesnelerinin son değiştirmeden 1 gün sonra otomatik olarak silinmesi için bir yaşam döngüsü kuralı ayarlayın. Ayrıca 1 günden daha uzun süre önce oluşturulan tamamlanmamış çok parçalı yüklemelerden kalan parçaları otomatik olarak temizleyin. Bu kural silme işaretçilerini de temizler.

    screenshot_2025-07-02_10-58-23

Aynı ön eke sahip nesneler için son değiştirilme zamanına ve son erişim zamanına dayalı iki yaşam döngüsü kuralı oluşturursam hangi kural uygulanır?

Örneğin examplebucket hedef paketi için iki yaşam döngüsü kuralı oluşturursunuz. Kural 1 paketteki doc ön ekine sahip tüm nesnelerin son değiştirilme tarihinden 30 gün sonra silinmesini belirtir. Kural 2 paketteki doc ön ekine sahip tüm nesnelerin son erişim tarihinden 30 gün sonra Seyrek Erişim depolama sınıfına geçirilmesini belirtir.

OSS yaşam döngüsü kurallarını kullanıcı maliyetlerini en aza indirme ilkesine göre yürütür. Bu nedenle yalnızca Kural 1 etkili olur. Bunun nedeni Kural 1'in nesneleri 30 gün sonra silmesi ve tüm ücretlerin oluşmasını durdurmasıdır. Buna karşılık nesneleri Seyrek Erişim depolama sınıfına geçiren Kural 2 ilgili depolama veya veri getirme ücretlerine neden olmaya devam eder.

Yapılandırılmış bir yaşam döngüsü kuralındaki değişiklik ne zaman etkili olur ve orijinal kural tarafından eşleştirilen veriler nasıl işlenir?

Örneğin er ön ekine sahip nesneler için bir yaşam döngüsü kuralı yapılandırırsınız. Bu kural nesneleri son erişim tarihinden 30 gün sonra Seyrek Erişim depolama sınıfına geçirir ve ardından ek bir 30 gün sonra tekrar erişilirse Standart depolama sınıfına geri geçirir. Ancak bir nesnenin son erişim tarihinden 35 gün sonra yaşam döngüsü kuralındaki ön eki er yerine re olarak değiştirirsiniz. Sonuç olarak nesne Seyrek Erişim depolama sınıfına geçirilir ancak Standart depolama sınıfına geri geçirme eylemi etkili olmaz. Güncellenen kuralıyla eşleşen nesneler için son erişim zamanı paket için erişim izlemenin etkinleştirildiği zamandan itibaren hesaplanır.

Sürüm oluşturma etkinleştirilmiş bir pakette akıllı katmanlama farklı nesne sürümlerinin depolama sınıflarını nasıl etkiler?

Sürüm oluşturma etkinleştirilmiş bir pakette her nesne sürümü benzersiz bir sürüm kimliğine sahiptir ve bağımsız bir nesne olarak kabul edilir. Bu nedenle bir nesnenin önceki bir sürümü Seyrek Erişim depolama sınıfında olabilirken aynı nesnenin geçerli sürümü Standart depolama sınıfında olabilir.