Aracılığıyla paylaş


Azure Blob Depolama yaşam döngüsü yönetim ilkesi yapısı

Blobları kullanım desenlerine göre uygun maliyetli erişim katmanlarına geçiş yapmak için yaşam döngüsü yönetim ilkelerini kullanabilirsiniz. Ayrıca blobları yaşam döngülerinin sonunda tamamen silebilirsiniz. İlke geçerli sürümler, önceki sürümler ve anlık görüntüler üzerinde çalışabilir, ancak ilke $logs veya$web kapsayıcıları gibi sistem kapsayıcılarındaki bloblar üzerinde çalışmaz. Genel bilgi için bkz. Azure Blob Depolama yaşam döngüsü yönetimine genel bakış.

Bu makalede yaşam döngüsü yönetim ilkesinin öğeleri açıklanmaktadır. İlke örnekleri için aşağıdaki makalelere bakın:

İpucu

Yaşam döngüsü yönetimi, maliyetlerinizi tek bir hesap için iyileştirmenize yardımcı olsa da, azure depolama eylemlerini kullanarak birden çok hesap genelinde büyük ölçekte birden fazla veri işlemi gerçekleştirebilirsiniz.

Kurallar

Yaşam döngüsü yönetimi ilkesi, bir JSON belgesindeki kurallar koleksiyonudur. Aşağıdaki örnek JSON tam bir kural tanımını gösterir:

{
  "rules": [
    {
      "name": "rule1",
      "enabled": true,
      "type": "Lifecycle",
      "definition": {...}
    },
    {
      "name": "rule2",
      "type": "Lifecycle",
      "definition": {...}
    }
  ]
}
Parametre adı Parametre türü Notlar
kurallar Kural nesneleri dizisi İlkede en az bir kural gereklidir. Bir ilkede en fazla 100 kural tanımlayabilirsiniz.

İlkedeki her kuralın aşağıdaki tabloda açıklanan çeşitli parametreleri vardır:

Parametre adı Türü Notlar Gerekli
isim Dize Kural adı en fazla 256 alfasayısal karakter içerebilir. Kural adı büyük/küçük harfe duyarlıdır. İlke içinde benzersiz olmalıdır. Evet
etkinleştirildi Boolean (Boole Mantığı) Kuralın geçici olarak devre dışı bırakılmasına izin vermek için isteğe bağlı boole değeri. Varsayılan değer true değeridir. Hayı
türü Enum değeri Geçerli tür: Lifecycle. Evet
tanım Yaşam döngüsü kuralını tanımlayan nesne Her tanım bir filtre kümesinden ve bir eylem kümesinden oluşur. Evet

Filtreler

Filtreler, eylemleri depolama hesabındaki blobların bir alt kümesiyle sınırlandırır. Hangi blobların dahilleneceğini belirtmek için filtre kullanabilirsiniz. Filtre, dışlanması gereken blobları belirtmek için hiçbir araç sağlamaz. Birden fazla filtre tanımlanmışsa, tüm filtrelere bir mantıksal AND uygulanır. Aşağıdaki tabloda her parametre açıklanmaktadır.

Filtre adı Türü Açıklama Gerekli
blobTypes Önceden tanımlanmış enum değerleri dizisi Blob türü ( blockblob veya appendBlob) Evet
prefixMatch Dize dizisi Bu dizeler eşleştirilecek ön eklerdir. Hayı
blobIndexMatch Sözlük değerleri dizisi Bu değerler blob dizin etiketi anahtarından ve eşleştirilecek değer koşullarından oluşur. Hayı

Ön ek eşleştirme filtresi

PrefixMatch filtresini uygularsanız, her kural en fazla 10 büyük/küçük harfe duyarlı ön ek tanımlayabilir. Ön ek dizesi bir kapsayıcı adıyla başlamalıdır. Örneğin, yolunun https://myaccount.blob.core.windows.net/sample-container/blob1/...altındaki tüm blobları eşleştirmek istiyorsanız , prefixMatch değerini olarak sample-container/blob1belirtin.

Bu filtre, adları sample-container ile başlayan blob1 içindeki tüm bloblarla eşleşecektir. Bir ön ek eşleşmesi tanımlamazsanız, kural depolama hesabındaki tüm bloblara uygulanır. Ön ek dizeleri joker karakter eşleştirmeyi desteklemez. "* ve ? gibi karakterler, dize değişmezleri olarak değerlendirilir."

Blob dizini eşleştirme filtresi

blobIndexMatch filtresini uygularsanız, her kural en fazla 10 blob dizin etiketi koşulu tanımlayabilir. Örneğin, Project = Contoso altındaki tüm blobları https://myaccount.blob.core.windows.net/ ile eşleştirmek istiyorsanız, blobIndexMatch filtresini kullanabilirsiniz{"name": "Project","op": "==","value": "Contoso"}. blobIndexMatch filtresi için bir değer tanımlamazsanız, kural depolama hesabındaki tüm bloblara uygulanır.

Eylemler

Her kural için en az bir eylem tanımlamanız gerekir. Eylemler, çalıştırma koşulu karşılandığında filtrelenmiş bloblara uygulanır. Çalıştırma koşulları hakkında daha fazla bilgi edinmek için bu makalenin Eylem çalıştırma koşulları bölümüne bakın. Aşağıdaki tabloda, bir ilke tanımında kullanılabilen her eylem açıklanmaktadır.

Eylem Açıklama
TierToCool Blobu soğuk erişim katmanına ayarlayın.

Ekleme blobları, sayfa blobları veya premium blok blob depolama hesabındaki bloblar için desteklenmez.
TierToCold Blobu soğuk erişim katmanına ayarlayın.

Ekleme blobları, sayfa blobları veya premium blok blob depolama hesabındaki bloblar için desteklenmez.
TierToArchive Blobu arşiv erişim katmanına ayarlayın.

Blobun yeniden doldurulması, blobun son değiştirilen veya son erişim zamanı özelliğini güncelleştirmez. Sonuç olarak, bu eylem yeniden doldurulan blobları arşiv katmanına geri taşıyabilir. Bunun olmasını önlemek için koşulu bu eyleme ekleyin daysAfterLastTierChangeGreaterThan .

Bu eylem ekleme blobları, sayfa blobları veya premium blok blob depolama hesabındaki bloblarla desteklenmez. Ayrıca, şifreleme kapsamı kullanan bloblar veya Alanlar arası yedekli depolama (ZRS), coğrafi alanlar arası yedekli depolama (GZRS) / okuma erişimli coğrafi alanlar arası yedekli depolama (RA-GZRS) için yapılandırılmış hesaplardaki bloblarla desteklenmez.
sogukDepodanSicakDepoyaOtomatikKatmanAktifEt Bir blob soğuk katmana ayarlanırsa, bloba erişildiğinde bu eylem o blobu otomatik olarak sıcak katmana taşır.

Bu eylem yalnızca daysAfterLastAccessTimeGreaterThan çalıştırma koşuluyla kullanıldığında kullanılabilir.

Bu eylemin, bir kuralda bu eylem etkinleştirildiğinde önce soğuk katmana ayarlanmış bloblar üzerinde hiçbir etkisi yoktur.

Bu eylem blobları seyrek erişimliden 30 günde yalnızca bir kez sık erişimliye taşır. Bu koruma, hesaba ücretlendirilen birden çok erken silme cezalarına karşı koruma sağlamak için devreye alınır.

Önceki sürümlerde veya anlık görüntülerde desteklenmez.
Silmek Blobu siler.

Sabit bir kapsayıcıdaki sayfa blobları veya diğer bloblar desteklenmiyor.

Aynı blob üzerinde birden fazla eylem tanımlarsanız, yaşam döngüsü yönetimi bloba en düşük maliyetli eylemi uygular. Örneğin, silme eylemi tierToArchive eyleminden daha ucuzdur ve tierToArchive eylemi tierToCool eyleminden daha ucuzdur.

Hiyerarşik ad alanına sahip hesaplarda silme eylemi

Hiyerarşik ad alanı etkinleştirilmiş bir hesaba uygulandığında, silme eylemi boş dizinleri kaldırır. Dizin boş değilse, silme eylemi ilk yaşam döngüsü ilkesi yürütme döngüsü içindeki ilke koşullarına uyan nesneleri kaldırır. Bu eylem, ilke koşullarını da karşılayan boş bir dizinle sonuçlanırsa, bu dizin sonraki yürütme döngüsü içinde kaldırılır ve bu şekilde devam eder.

Sürümleri ve anlık görüntüleri olan bloblarda silme eylemi

Yaşam döngüsü yönetim ilkesi, blobla ilişkili önceki sürümler veya anlık görüntüler silinene kadar blobun geçerli sürümünü silmez. Depolama hesabınızdaki blobların önceki sürümleri veya anlık görüntüleri varsa, ilkenin bir parçası olarak silme eylemi belirtirken önceki sürümleri ve anlık görüntüleri eklemeniz gerekir.

Eylem çalıştırma koşulları

Tüm çalıştırma koşulları zamana bağlıdır. Geçen gün sayısı koşul için belirtilen sayıyı aşarsa, ilişkili eylem yürütülebilir. İlke koşulları, bir ilke çalıştırması sırasında her nesne üzerinde yalnızca bir kez değerlendirilir. Bazı durumlarda, bir nesne zaten bir çalıştırma tarafından değerlendirildikten sonra koşulu karşılayabilir. Bu tür nesneler sonraki çalıştırmalarda işlenir.

Geçerli sürümler son değiştirme zamanını veya son erişim saatini, önceki sürümler sürüm oluşturma zamanını, blob anlık görüntüleri ise yaşı izlemek için anlık görüntü oluşturma süresini kullanır.

Aşağıdaki tabloda her eylem çalıştırma koşulu açıklanmaktadır.

Koşul adı Türü Açıklama
daysAfterModificationGreaterThan Tam sayı Son değiştirme zamanı blobunun gün içindeki yaşı. Blobun geçerli sürümündeki eylemler için geçerlidir.
daysAfterCreationGreaterThan Tam sayı Oluşturma zamanından sonraki yaş (gün olarak). Geçerli blob sürümündeki eylemler, önceki blob sürümündeki eylemler veya blob anlık görüntüsündeki eylemler için geçerlidir.
Son Erişim Tarihinden Sonra Gün Sayısı Daha Fazla Tam sayı Son erişim saatinden sonraki gün sayısı veya bazı durumlarda ilkenin etkinleştirildiği tarih. Daha fazla bilgi edinmek için aşağıdaki Erişim süresi izleme bölümüne bakın. Erişim izleme etkinleştirildiğinde blobun geçerli sürümündeki eylemler için geçerlidir.
Son Katman Değişikliğinden Sonra Geçen Günler Daha Fazla Tam sayı Son blob katmanı değişikliğinden bu yana geçen gün sayısı. Yeniden sulandırılmış bir blobun arşiv katmanına geri döndürülmeden önce sık erişimli, seyrek erişimli veya soğuk katmanlarda tutulacağı minimum gün sayısı. Yalnızca tierToArchive eylemleri için geçerlidir.

Erişim süresi izleme

Blob verilerinizin en son ne zaman okunduğu veya yazıldığı bilgilerini kaydetmek ve katmanlama ile veri saklama yönetimini bir filtre olarak kullanmak için erişim zamanı takibini etkinleştirebilirsiniz.

Erişim süresi izlemeyi etkinleştirdiğinizde, blob okunduğunda veya yazıldığında adlı LastAccessTime bir blob özelliği güncelleştirilir. Blob Alma ve Blobu Yerleştirme işlemleri erişim işlemleridir ve bir blobun erişim süresini güncelleştirir. Ancak Blob Özelliklerini Al, Blob Meta Verilerini Al ve Blob Etiketlerini Al işlemleri erişim işlemleri değildir. Bu işlemler bir blobun erişim süresini güncelleştirmez.

DaysAfterLastAccessTimeGreaterThan çalıştırma koşulunu bir ilkeye uygularsanız, koşulun LastAccessTime karşılanıp karşılanmadığını belirlemek için kullanılır.

DaysAfterLastAccessTimeGreaterThan çalıştırma koşulunu bir ilkeye uygularsanız, ancak erişim süresi izlemeyi etkinleştirmediyseniz, LastAccessTime değeri kullanılmaz. Bunun yerine yaşam döngüsü ilkesinin etkinleştirildiği tarih kullanılır. Aslında, blobun LastAccessTime özelliği null bir değer olduğunda, yaşam döngüsü ilkesinin etkinleştirildiği tarih her durumda kullanılır. İzleme etkinleştirildiğinden bu yana bloba erişilmemiş olan durumlarda erişim süresi izlemeyi etkinleştirmiş olsanız bile bu durum oluşabilir.

Uyarı

Okuma erişimi gecikmesi üzerindeki etkisini en aza indirmek için son 24 saatin yalnızca ilk okuması son erişim saatini güncelleştirir. Aynı 24 saatlik dönemdeki sonraki okumalar son erişim saatini güncelleştirmez. Okumalar arasında bir blob değiştirilirse, son erişim zamanı bu iki değer arasında en yeni olanıdır.

Erişim süresi izlemeyi etkinleştirmeyi öğrenmek için bkz. İsteğe bağlı olarak erişim süresi izlemeyi etkinleştirme.

Sonraki Adımlar