Bir blob arşivle

Arşiv katmanı, nadiren erişilen blob verilerini depolamak için çevrimdışı bir katmandır. Arşiv seviyesi en düşük depolama maliyetlerini sunar, ancak çevrimiçi seviyelere (sıcak ve soğuk) kıyasla daha yüksek veri alım maliyetleri ve gecikme sağlar. Verilerin en az 180 gün arşiv katmanında kalması gerekir veya erken bir silme ücretine tabi olur. Arşiv seviyesi hakkında daha fazla bilgi için Arşiv erişim seviyesine bakınız.

Blob arşiv katmanındayken okunamaz veya değiştirilemez. Arşiv katmanında bir blob okumak veya indirmek için önce onu sıcak ya da soğuk bir çevrimiçi seviyeye yeniden nemlendirmeniz 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 Arşiv katmanından blob yeniden doldurmaya genel bakış bölümüne bkz.

Caution

Arşiv katmanındaki bir blob çevrimdışıdır. Yani, yeniden nemlendirilene kadar okunamaz veya değiştirilemez. Rehidrasyon süreci birkaç saat sürebilir ve bununla ilgili maliyetler olabilir. Verileri arşiv seviyesine taşımadan önce, blob verisini çevrimdışı almanın iş akışlarınızı etkileyip etkilemeyeceğini düşünün.

Veri arşivlemesini yönetmek için Azure portalı, PowerShell, Azure CLI veya Azure Depolama istemci kütüphanelerinden birini kullanabilirsiniz.

Yükleme sırasında blobları arşivle

Yükleme sırasında bir veya daha fazla blob'u arşivlemek için, blob'u doğrudan arşiv katmanında oluşturun.

Azure portalından yüklenirken bir blob veya blob setini arşivlemek için şu adımları izleyin:

  1. Hedef kapsayıcıya gidin.

  2. Yükle düğmesini seçin.

  3. Karşıya yüklenecek dosyayı veya dosyaları seçin.

  4. İleri bölümünü genişletin ve Erişim seviyesiniArşiv olarak ayarlayın.

  5. Yükle düğmesini seçin.

    Azure portalında arşiv katmanına blobların nasıl yükleneceğini gösteren ekran görüntüsü.

Mevcut bir blob'u arşivle

Mevcut bir blobu arşiv katmanına iki şekilde taşıyabilirsiniz:

  • Bir blobun seviyesini Set Blob Tier işlemiyle değiştirebilirsiniz. Set Blob Tier, tek bir blob'u bir seviyeden diğerine taşır.

    Bir blob'u arşiv seviyesine Set Blob Tier ile taşıdığınızda, blob'u yeniden nemlendirmeden önce blob'un verilerini okuyup değiştiremeyeceğinizi unutmayın. Erken silme aralığı geçmeden önce blobun verilerini okumanız veya değiştirmeniz gerekirse, arşiv katmanında blobun bir kopyasını oluşturmak için Kopyalama işlemini kullanmayı düşünün.

  • Çevrimiçi bir katmandaki bir blob'u Copy Blob işlemiyle arşiv katmanına kopyalayabilirsiniz. Blob'u Kopyalama işlemini çağırarak bir blob'u çevrimiçi bir katmandan (sıcak veya soğuk) arşiv katmanına kopyalayabilirsiniz. Kaynak blob çevrimiçi seviyede kalır ve çevrimiçi seviyede verilerini okumaya veya değiştirmeye devam edebilirsiniz.

Mevcut bir blob'u seviyesini değiştirerek arşivleyin

Set Blob Tier işlemini kullanarak bir blob'u Hot veya Cool katmanından arşiv katmanına taşıyabilirsiniz. Set Blob Tier işlemi, erken silme aralığı dolmadan önce arşivlenmiş verilere erişmeniz gerekmeyecek senaryolar için en uygunudur.

Set Blob Tier işlemi, tek bir blobun katmanını değiştirir. Bir küme blob'u arşiv katmanına optimum performansla taşımak için Microsoft, toplu arşiv işlemi yapılmasını önerir. Toplu arşiv işlemi, tek bir işlemde hizmete bir dizi Set Blob Tier çağrısı gönderir. Daha fazla bilgi için Toplu arşiv'e bakınız.

Mevcut bir blobu Azure portalında arşiv katmanına taşımak için şu adımları izleyin:

  1. Blobun konteynerine gidin.

  2. Arşivlemek için blob'u seçin.

  3. Katmanı Değiştir butonunu seçin.

  4. Erişim seviyesi açılır menüsünden Arşiv'i seçin.

  5. Kaydetseçeneğini seçin.

    Azure portalında bir blobun seviyesini Arşiv'e nasıl ayarlayacağınızı gösteren ekran görüntüsü

Mevcut bir blobu kopyalama işlemiyle arşivle

Kopyalama işlemini kullanarak bir blob'u sıcak veya soğuk katmandan arşiv katmanına kopyalayın. Kaynak blob sıcak veya soğuk katmanında kalırken, hedef blob arşiv katmanında oluşturulur.

Copy Blob işlemi, erken silme aralığı geçmeden arşivlenen verileri okumanız veya değiştirmeniz gerekebilecek durumlar için en iyisidir. Arşivlenen blob'u yeniden nemlendirmeye gerek kalmadan kaynak blobun verilerine erişebilirsiniz.

N/A

Toplu arşiv

Blobları bir konteyner veya klasördeki arşiv katmanına taşımak için blobları sayın ve her birinde Set Blob Tier işlemini çağırın. Aşağıdaki örnekte bu işlemin nasıl gerçekleştirebileceğiniz gösterilmektedir:

N/A

Arşiv katmanına çok sayıda blob taşırken, optimal 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şlem ile arşivlemek için Azure Depolama istemci kütüphanelerinden 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şivlemek için yaşam döngüsü yönetim politikalarını kullanın

Nadiren erişilen blob verileri için maliyetleri, belirli bir süre boyunca erişilmediklerinde veya değiştirilmediğinde blobları otomatik olarak arşiv katmanına taşıyan yaşam döngüsü yönetim politikaları oluşturarak optimize edebilirsiniz. Bir yaşam döngüsü yönetim politikası yapılandırdıktan sonra, Azure Depolama bunu günde bir kez çalıştırır. Yaşam döngüsü yönetim politikaları hakkında daha fazla bilgi için Verileri otomatik olarak yöneterek maliyetleri optimize et.

Azure portalı, PowerShell, Azure CLI veya Azure Resource Manager şablonunu kullanarak bir yaşam döngüsü yönetim politikası oluşturabilirsiniz. Basitlik için, bu bölüm yalnızca Azure portalında yaşam döngüsü yönetim politikası nasıl oluşturulacağını gösterir. Yaşam döngüsü yönetim politikalarının nasıl oluşturulacağını gösteren daha fazla örnek için bkz. Bir yaşam döngüsü yönetim politikası yapılandır.

Caution

Veri arşiv katmanına taşımak için yaşam döngüsü yönetim politikası kullanmadan önce, bu verinin 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 geçmeden silinen veya farklı bir katmana taşınan veriler erken silme ücretine tabi tutulur.

Ayrıca, arşiv katmanındaki verilerin okunmadan veya değiştirilebilmesinden önce yeniden hidratlandırılması gerektiğini unutmayın. Bir blob’u arşiv katmanından yeniden erişilebilir duruma getirmek birkaç saat sürebilir ve bu işlem ek maliyet doğurur.

Azure portalında blobları arşivlemek için bir yaşam döngüsü yönetim politikası oluşturmak için şu adımları izleyin:

Adım 1: Kuralı oluşturun ve blob tipini belirtin

  1. Portalda depolama hesabınıza gidin.

  2. Veri yönetimi bölümünde Yaşam döngüsü yönetim ayarlarını bulun.

  3. Kural ekle butonunu seçin.

  4. Detaylar sekmesinde kuralınızın adını belirtin.

  5. Kural kapsamını belirtin: ya depolama hesabınızdaki tüm bloblara kuralı uygula ya da filtrelerle blobları sınırla.

  6. Kuralın uygulanacağı blob türlerini seçin ve blob anlık görüntüleri veya sürümleri dahil edip etmeyeceğinizi belirtin.

    Yaşam döngüsü yönetim politikasının nasıl yapılandırılacağını gösteren ekran görüntüsü - Detaylar sekmesi.

Adım 2: Kural koşullarını ekleyin

  1. Seçimlerinize bağlı olarak, temel bloblar (mevcut sürümler), önceki sürümler veya blob snapshot'lar için kurallar ayarlayabilirsiniz. Kontrol edilecek iki koşuldan birini belirtin:

    • Nesneler en son birkaç gün önce değiştirilmişti.
    • Nesneler birkaç gün önce yaratıldı.
    • Nesnelere en son birkaç gün önce erişilmişti.

    Kural başına belirli bir tür nesneyi arşiv katmanına taşımak için bu koşullardan yalnızca biri uygulanabilir. Örneğin, 90 gün boyunca değiştirilmemiş olan temel blobları arşivleyen bir eylem tanımlarsanız, 90 gün boyunca erişilmemişse temel blobları arşivleyen bir eylem de tanımlayamazsınız. Benzer şekilde, bu şartlardan herhangi birine sahip kural başına bir eylem tanımlayarak önceki sürümleri arşivleyebilir, bir eylemi ise anlık görüntüleri arşivleyebilirsiniz.

  2. Sonra, nesne değiştirildikten veya erişildikten sonra geçen gün sayısını belirtin.

  3. Nesnenin aralık geçtikten sonra arşiv katmanına taşınacağını belirtin.

    Yaşam döngüsü yönetim politikasının nasıl yapılandırılacağını gösteren ekran görüntüsü - Base blob sekmesi.

  4. Kuraldan etkilenen blobları filtrelerle sınırlamayı seçerseniz, blob öneki veya blob dizini eşleşmesi kullanarak bir filtre belirtebilirsiniz.

Adım 3: Kuralın rehydrate edilmiş blobları hariç tuttuğundan emin olun

Bir blob'u seviyesini değiştirerek yeniden nemlendirirseniz, bu kural blob'u arşiv seviyesine geri taşır; eğer son değiştirilen zaman, oluşturulma zamanı veya son erişim süresi politika için belirlenen eşik sınırı aşırsa.

Son değiştirilmiş kural koşulu seçtiyseniz, bu durumu önlemek için son dönemde yeniden sulandırılmış blobları atlayın ve ardından bu kuraldan çıkarılacak gün sayısını girerek bunu önleyebilirsiniz.

Son ayarda yeniden nemlendirilmiş skip blob'ları gösteren ekran görüntüsü.

Note

Bu seçenek yalnızca Son değiştirilme kural koşulunu seçtiyseniz görünür.

Kuralı poliçeye eklemek için Ekle butonunu seçin.

JSON politikasını görüntüleyin

Yaşam döngüsü yönetim politikasını oluşturduktan sonra, Liste görünümündenKod görünümüne geçerek Yaşam Döngüsü yönetim sayfasında politikanın JSON'unu görebilirsiniz.

İşte yukarıda gösterilen görsellerde oluşturulan basit yaşam döngüsü yönetim politikası için JSON:

{
  "rules": [
    {
      "enabled": true,
      "name": "sample-archive-rule",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "baseBlob": {
            "tierToArchive": {
              "daysAfterLastAccessTimeGreaterThan": 90,
              "daysAfterLastTierChangeGreaterThan": 7
            }
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ]
        }
      }
    }
  ]
}

Ayrıca bakınız