Blobu arşivle
Arşiv katmanı, nadiren erişilen blob verilerini depolamak için çevrimdışı bir katmandır. Arşiv katmanı en düşük depolama maliyetlerini sunar, ancak çevrimiçi katmanlara (sık erişimli ve seyrek erişimli) kıyasla daha yüksek veri alma maliyetleri ve gecikme süresi sunar. Verilerin en az 180 gün arşiv katmanında kalması gerekir veya erken bir silme ücretine tabi olur. Arşiv katmanı hakkında daha fazla bilgi için bkz . Arşiv erişim katmanı.
Blob arşiv katmanındayken okunamaz veya değiştirilemez. Arşiv katmanındaki bir blobu okumak veya indirmek için önce sık erişimli veya seyrek erişimli çevrimiçi bir katmanda yeniden doldurmanız gerekir. Arşiv katmanındaki verilerin yeniden doldurulması, yeniden doldurma işlemi için belirttiğiniz önceliğe bağlı olarak 15 saate kadar sürebilir. Blob yeniden doldurma hakkında daha fazla bilgi için bkz . Arşiv katmanından blob yeniden doldurmaya genel bakış.
Dikkat
Arşiv katmanındaki bir blob çevrimdışı. Başka bir ifadeyle, yeniden doldurulana kadar okunamaz veya değiştirilemez. Yeniden doldurma işlemi birkaç saat sürebilir ve ilişkili maliyetleri vardır. Verileri arşiv katmanına taşımadan önce blob verilerini çevrimdışına almanın iş akışlarınızı etkileyip etkilemeyebileceğini göz önünde bulundurun.
Veri arşivlemeyi yönetmek için Azure portalı, PowerShell, Azure CLI veya Azure Depolama istemci kitaplıklarından birini kullanabilirsiniz.
Karşıya yüklemede blobları arşivle
Karşıya yüklemede bir veya daha fazla blobu arşivleyebilmek için blobu doğrudan arşiv katmanında oluşturun.
Azure portalından karşıya yüklenen bir blobu veya blob kümesini arşiv etmek için şu adımları izleyin:
Hedef kapsayıcıya gidin.
Karşıya Yükle düğmesini seçin.
Karşıya yüklenecek dosyayı veya dosyaları seçin.
Gelişmiş bölümünü genişletin ve Erişim katmanınıArşiv olarak ayarlayın.
Karşıya Yükle düğmesini seçin.
Mevcut blobu arşivle
Mevcut blobu arşiv katmanına iki yoldan biriyle taşıyabilirsiniz:
Blob KatmanıNı Ayarla işlemiyle blob katmanını değiştirebilirsiniz. Blob Katmanını Ayarlama, tek bir blobu bir katmandan diğerine taşır.
Blob Katmanı Ayarla ile bir blobu arşiv katmanına taşıdığınızda blobu yeniden doldurmadan blob verilerini okuyamazsınız veya değiştiremezsiniz. Erken silme aralığı dolmadan önce blobun verilerini okumanız veya değiştirmeniz gerekebilirse, arşiv katmanında blobun bir kopyasını oluşturmak için Blobu Kopyala işlemini kullanmayı göz önünde bulundurun.
Blobu Kopyala işlemiyle çevrimiçi katmandaki bir blobu arşiv katmanına kopyalayabilirsiniz. Blobu çevrimiçi katmandan (sık erişimli veya seyrek erişimli) arşiv katmanına kopyalamak için Blobu Kopyala işlemini çağırabilirsiniz. Kaynak blob çevrimiçi katmanda kalır ve çevrimiçi katmanda verileri okumaya veya değiştirmeye devam edebilirsiniz.
Katmanını değiştirerek mevcut blobu arşivle
Blobu Sık Erişimli veya seyrek erişim katmanından arşiv katmanına taşımak için Blob KatmanıNı Ayarla işlemini kullanın. Blob KatmanıNı Ayarla işlemi, erken silme aralığı dolmadan önce arşivlenen verilere erişmeniz gerekmeyecek senaryolar için en iyisidir.
Blob KatmanıNı Ayarla işlemi, tek bir blobun katmanını değiştirir. Microsoft, blob kümesini en iyi performansla arşiv katmanına taşımak için toplu arşiv işlemi gerçekleştirmenizi önerir. Toplu arşiv işlemi, hizmete tek bir işlemde Blob Katmanı Ayarla çağrılarının bir toplu işlemini gönderir. Daha fazla bilgi için bkz . Toplu arşiv.
Mevcut bir blobu Azure portalındaki arşiv katmanına taşımak için şu adımları izleyin:
Blob kapsayıcısına gidin.
Arşivlenecek blobu seçin.
Katmanı değiştir düğmesini seçin.
Erişim katmanı açılan listesinde Arşiv'i seçin.
Kaydet'i seçin.
Var olan bir blobu kopyalama işlemiyle arşivle
Sık erişimli veya seyrek erişimli katmandaki bir blobu arşiv katmanına kopyalamak için Blobu Kopyala işlemini kullanın. Hedef blob arşiv katmanında oluşturulurken kaynak blob sık erişimli veya seyrek erişimli katmanda kalır.
Blobu Kopyala işlemi, erken silme aralığı dolmadan önce arşivlenmiş verileri okumanız veya değiştirmeniz gerekebilecek senaryolar için en iyisidir. Arşivlenen blobu yeniden doldurmanıza gerek kalmadan kaynak blob'un verilerine erişebilirsiniz.
Toplu arşiv
Blobları bir kapsayıcı veya klasördeki arşiv katmanına taşımak için blobları numaralandırın ve her birinde Blob Katmanı Ayarla işlemini çağırın. Aşağıdaki örnekte bu işlemin nasıl gerçekleştirebileceğiniz gösterilmektedir:
Çok sayıda blobu arşiv katmanına taşırken, en iyi performans için toplu işlem kullanın. Toplu işlem, tek bir istekle hizmete birden çok API çağrısı gönderir. Blob Batch işlemi tarafından desteklenen alt işlemler Arasında Blobu Sil ve Blob Katmanını Ayarla yer alır.
Blobları toplu işlemle arşivleyebilmek için Azure Depolama istemci kitaplıklarından birini kullanın. Aşağıdaki kod örneğinde .NET istemci kitaplığıyla temel bir toplu işlem gerçekleştirme işlemi gösterilmektedir:
static async Task BulkArchiveContainerContents(string accountName, string containerName)
{
string containerUri = string.Format("https://{0}.blob.core.windows.net/{1}",
accountName,
containerName);
// Get container client, using Azure AD credentials.
BlobUriBuilder containerUriBuilder = new BlobUriBuilder(new Uri(containerUri));
BlobContainerClient blobContainerClient = new BlobContainerClient(containerUriBuilder.ToUri(),
new DefaultAzureCredential());
// Get URIs for blobs in this container and add to stack.
var uris = new Stack<Uri>();
await foreach (var item in blobContainerClient.GetBlobsAsync())
{
uris.Push(blobContainerClient.GetBlobClient(item.Name).Uri);
}
// Get the blob batch client.
BlobBatchClient blobBatchClient = blobContainerClient.GetBlobBatchClient();
try
{
// Perform the bulk operation to archive blobs.
await blobBatchClient.SetBlobsAccessTierAsync(blobUris: uris, accessTier: AccessTier.Archive);
}
catch (RequestFailedException e)
{
Console.WriteLine(e.Message);
}
}
Toplu işlemle katmanların nasıl değiştirildiğini gösteren ayrıntılı bir örnek uygulama için bkz . AzBulkSetBlobTier.
Blobları arşivlerken yaşam döngüsü yönetimi ilkelerini kullanma
Bloblara belirli bir süre boyunca erişilmediklerinde veya değiştirilmediklerinde otomatik olarak arşiv katmanına taşınan yaşam döngüsü yönetimi ilkeleri oluşturarak nadiren erişilen blob verileri için maliyetleri iyileştirebilirsiniz. Bir yaşam döngüsü yönetimi ilkesi yapılandırdıktan sonra Azure Depolama bunu günde bir kez çalıştırır. Yaşam döngüsü yönetimi ilkeleri hakkında daha fazla bilgi için bkz . Veri yaşam döngüsünü otomatik olarak yöneterek maliyetleri iyileştirme.
Yaşam döngüsü yönetimi ilkesi oluşturmak için Azure portalını, PowerShell'i, Azure CLI'yı veya bir Azure Resource Manager şablonunu kullanabilirsiniz. Kolaylık olması için, bu bölümde yalnızca Azure portalında yaşam döngüsü yönetimi ilkesinin nasıl oluşturulacağı gösterilmektedir. Yaşam döngüsü yönetimi ilkelerinin nasıl oluşturulacağını gösteren diğer örnekler için bkz . Yaşam döngüsü yönetimi ilkesi yapılandırma.
Dikkat
Verileri arşiv katmanına taşımak için bir yaşam döngüsü yönetimi ilkesi kullanmadan önce, verilerin en az 180 gün boyunca silinmesine veya başka bir katmana taşınmasına gerek olmadığını doğrulayın. 180 günlük süre dolmadan önce silinen veya farklı bir katmana taşınan veriler erken silme ücretine tabidir.
Ayrıca, arşiv katmanındaki verilerin okunabilmesi veya değiştirilebilmesi için önce yeniden doldurulması gerektiğini unutmayın. Bir blobu arşiv katmanından yeniden doldurma işlemi birkaç saat sürebilir ve ilişkili maliyetleri vardır.
Azure portalında blobları arşivleye yönelik bir yaşam döngüsü yönetimi ilkesi oluşturmak için şu adımları izleyin:
1. Adım: Kuralı oluşturma ve blob türünü belirtme
Portalda depolama hesabınıza gidin.
Veri yönetimi'nin altında Yaşam döngüsü yönetimi ayarlarını bulun.
Kural ekle düğmesini seçin.
Ayrıntılar sekmesinde kuralınız için bir ad belirtin.
Kural kapsamını belirtin: Kuralı depolama hesabınızdaki tüm bloblara uygula veya Blobları filtrelerle sınırla.
Kuralın uygulanacağı blob türlerini seçin ve blob anlık görüntülerinin mi yoksa sürümlerin mi ekleneceğini belirtin.
2. Adım: Kural koşulları ekleme
Seçimlerinize bağlı olarak, temel bloblar (geçerli sürümler), önceki sürümler veya blob anlık görüntüleri için kurallar yapılandırabilirsiniz. Denetlenecek iki koşuldan birini belirtin:
- Nesneler en son birkaç gün önce değiştirildi.
- Nesneler birkaç gün önce oluşturuldu.
- Nesnelere en son birkaç gün önce erişildi.
Belirli bir nesne türünü kural başına arşiv katmanına taşımak için bu koşullardan yalnızca biri uygulanabilir. Örneğin, temel blobları 90 gündür değiştirilmediyse arşivleyen bir eylem tanımlarsanız, 90 gündür erişilmediklerinde temel blobları arşivleyen bir eylem de tanımlayamazsınız. Benzer şekilde, önceki sürümleri arşivmek için bu koşullardan herhangi biriyle kural başına bir eylem ve anlık görüntüleri arşivleye bir eylem tanımlayabilirsiniz.
Ardından, nesne değiştirildikten veya nesneye erişildikten sonra geçmesi gereken gün sayısını belirtin.
Aralık geçtikten sonra nesnenin arşiv katmanına taşınacağını belirtin.
Kuraldan etkilenen blobları filtrelerle sınırlamayı seçerseniz, blob ön eki veya blob dizini eşleşmesi olan bir filtre belirtebilirsiniz.
3. Adım: Kuralın yeniden doldurulan blobları dışladığından emin olun
Katmanını değiştirerek blobu yeniden doldurmanız durumunda, son değiştirme zamanı, oluşturma zamanı veya son erişim zamanı ilke için ayarlanan eşiğin ötesindeyse bu kural blobu arşiv katmanına geri taşır.
Son değiştirilen kural koşulunu seçtiyseniz, En son yeniden doldurulan blobları atla'yı seçip yeniden doldurulan blobun bu kuraldan dışlanmasını istediğiniz gün sayısını girerek bunun olmasını önleyebilirsiniz.
Dekont
Bu seçenek yalnızca Son değiştirilen kural koşulunu seçtiyseniz görünür.
Kuralı ilkeye eklemek için Ekle düğmesini seçin.
İlke JSON'unu görüntüleme
Yaşam döngüsü yönetimi ilkesini oluşturduktan sonra, Liste görünümünden Kod görünümüne geçerek yaşam döngüsü yönetimi sayfasında ilkenin JSON'unu görüntüleyebilirsiniz.
Aşağıda, yukarıda gösterilen görüntülerde oluşturulan basit yaşam döngüsü yönetimi ilkesinin JSON'u yer alır:
{
"rules": [
{
"enabled": true,
"name": "sample-archive-rule",
"type": "Lifecycle",
"definition": {
"actions": {
"baseBlob": {
"tierToArchive": {
"daysAfterLastAccessTimeGreaterThan": 90,
"daysAfterLastTierChangeGreaterThan": 7
}
}
},
"filters": {
"blobTypes": [
"blockBlob"
]
}
}
}
]
}