Archiwizowanie obiektu blob

Warstwa Archiwum to warstwa offline do przechowywania danych obiektów blob, do których rzadko uzyskuje się dostęp. Warstwa Archiwum oferuje najniższe koszty magazynowania, ale wyższe koszty pobierania danych i opóźnienia w porównaniu z warstwami online (gorąca i chłodna). Dane muszą pozostawać w warstwie Archiwum przez co najmniej 180 dni lub mogą podlegać opłacie za wcześniejsze usunięcie. Aby uzyskać więcej informacji na temat warstwy archiwum, zobacz Warstwa dostępu Archiwum.

Chociaż obiekt blob znajduje się w warstwie Archiwum, nie można go odczytać ani zmodyfikować. Aby odczytać lub pobrać obiekt blob w warstwie Archiwum, musisz najpierw przywrócić go do warstwy online , gorąca lub chłodna. Ponowne wypełnianie danych w warstwie Archiwum może potrwać do 15 godzin, w zależności od priorytetu określonego dla operacji ponownego wypełniania. Aby uzyskać więcej informacji na temat ponownego wypełniania obiektów blob, zobacz Omówienie ponownego wypełniania obiektów blob z warstwy Archiwum.

Uwaga

Obiekt blob w warstwie Archiwum jest w trybie offline. Oznacza to, że nie można go odczytać ani zmodyfikować do momentu jego ponownego wypełniania. Proces ponownego wypełniania może potrwać kilka godzin i wiąże się z kosztami. Przed przeniesieniem danych do warstwy Archiwum należy rozważyć, czy pobieranie danych obiektów blob w tryb offline może mieć wpływ na przepływy pracy.

Do zarządzania archiwizowaniem danych można użyć witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia platformy Azure lub jednej z bibliotek klienckich usługi Azure Storage.

Archiwizowanie obiektów blob podczas przekazywania

Aby zarchiwizować co najmniej jeden obiekt blob podczas przekazywania, utwórz obiekt blob bezpośrednio w warstwie Archiwum.

Aby zarchiwizować obiekt blob lub zestaw obiektów blob podczas przekazywania z witryny Azure Portal, wykonaj następujące kroki:

  1. Przejdź do kontenera docelowego.

  2. Wybierz przycisk Przekaż.

  3. Wybierz plik lub pliki do przekazania.

  4. Rozwiń sekcję Zaawansowane i ustaw warstwę dostępu na Archiwum.

  5. Wybierz przycisk Przekaż.

    Screenshot showing how to upload blobs to the archive tier in the Azure portal.

Archiwizowanie istniejącego obiektu blob

Istniejący obiekt blob można przenieść do warstwy Archiwum na jeden z dwóch sposobów:

  • Warstwę obiektu blob można zmienić za pomocą operacji Ustaw warstwę obiektu blob. Ustaw warstwę obiektu blob przenosi pojedynczy obiekt blob z jednej warstwy do innej.

    Należy pamiętać, że podczas przenoszenia obiektu blob do warstwy Archiwum z ustawieniem warstwy obiektu blob nie można odczytywać ani modyfikować danych obiektu blob do momentu ponownego wypełniania obiektu blob. Jeśli może być konieczne odczytywanie lub modyfikowanie danych obiektu blob przed upływem interwału wczesnego usuwania, rozważ użycie operacji kopiowania obiektu blob w celu utworzenia kopii obiektu blob w warstwie archiwum.

  • Obiekt blob można skopiować w warstwie online do warstwy Archiwum za pomocą operacji Kopiowania obiektu blob . Operację kopiowania obiektu blob można wywołać, aby skopiować obiekt blob z warstwy online (gorąca lub chłodna) do warstwy Archiwum. Źródłowy obiekt blob pozostaje w warstwie online i można nadal odczytywać lub modyfikować jego dane w warstwie online.

Archiwizowanie istniejącego obiektu blob przez zmianę warstwy

Użyj operacji Ustaw warstwę obiektu blob, aby przenieść obiekt blob z warstwy Gorąca lub Chłodna do warstwy Archiwum. Operacja Ustaw warstwę obiektu blob jest najlepsza w scenariuszach, w których nie trzeba uzyskiwać dostępu do zarchiwizowanych danych przed upływem interwału wczesnego usuwania.

Operacja Ustaw warstwę obiektu blob zmienia warstwę pojedynczego obiektu blob. Aby przenieść zestaw obiektów blob do warstwy Archiwum z optymalną wydajnością, firma Microsoft zaleca wykonanie operacji archiwum zbiorczego. Operacja archiwum zbiorczego wysyła partię wywołań Set Blob Tier do usługi w ramach jednej transakcji. Aby uzyskać więcej informacji, zobacz Archiwum zbiorcze.

Aby przenieść istniejący obiekt blob do warstwy Archiwum w witrynie Azure Portal, wykonaj następujące kroki:

  1. Przejdź do kontenera obiektu blob.

  2. Wybierz obiekt blob do archiwizacji.

  3. Wybierz przycisk Zmień warstwę.

  4. Wybierz pozycję Archiwum z listy rozwijanej Warstwa dostępu.

  5. Wybierz pozycję Zapisz.

    Screenshot showing how to set a blob's tier to Archive in the Azure portal

Archiwizowanie istniejącego obiektu blob za pomocą operacji kopiowania

Użyj operacji kopiowania obiektu blob, aby skopiować obiekt blob z warstwy Gorąca lub Chłodna do warstwy Archiwum. Źródłowy obiekt blob pozostaje w warstwie Gorąca lub Chłodna, podczas gdy docelowy obiekt blob jest tworzony w warstwie Archiwum.

Operacja kopiowania obiektu blob jest najlepsza w scenariuszach, w których może być konieczne odczytywanie lub modyfikowanie zarchiwizowanych danych przed upływem interwału wczesnego usuwania. Dostęp do danych źródłowego obiektu blob można uzyskać bez konieczności ponownego wypełniania zarchiwizowanego obiektu blob.

Nie dotyczy

Archiwum zbiorcze

Aby przenieść obiekty blob do warstwy archiwum w kontenerze lub folderze, wylicz obiekty blob i wywołaj operację Ustaw warstwę obiektu blob na każdym z nich. W poniższym przykładzie pokazano, jak wykonać tę operację:

Brak

Podczas przenoszenia dużej liczby obiektów blob do warstwy Archiwum użyj operacji wsadowej w celu uzyskania optymalnej wydajności. Operacja wsadowa wysyła wiele wywołań interfejsu API do usługi z jednym żądaniem. Podoperacje obsługiwane przez operację usługi Blob Batch obejmują usuwanie obiektu blob i ustawianie warstwy obiektu blob.

Aby zarchiwizować obiekty blob za pomocą operacji wsadowej, użyj jednej z bibliotek klienckich usługi Azure Storage. Poniższy przykład kodu pokazuje, jak wykonać podstawową operację wsadową z biblioteką klienta platformy .NET:

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);
    }
}

Aby zapoznać się ze szczegółową przykładową aplikacją, która pokazuje, jak zmienić warstwy za pomocą operacji wsadowej, zobacz AzBulkSetBlobTier.

Używanie zasad zarządzania cyklem życia do archiwizowania obiektów blob

Koszty danych obiektów blob, do których rzadko uzyskuje się dostęp, można zoptymalizować, tworząc zasady zarządzania cyklem życia, które automatycznie przenoszą obiekty blob do warstwy archiwum, gdy nie były dostępne ani modyfikowane przez określony okres. Po skonfigurowaniu zasad zarządzania cyklem życia usługa Azure Storage uruchamia ją raz dziennie. Aby uzyskać więcej informacji na temat zasad zarządzania cyklem życia, zobacz Optymalizowanie kosztów przez automatyczne zarządzanie cyklem życia danych.

Aby utworzyć zasady zarządzania cyklem życia, można użyć witryny Azure Portal, programu PowerShell, interfejsu wiersza polecenia platformy Azure lub szablonu usługi Azure Resource Manager. Dla uproszczenia w tej sekcji pokazano, jak utworzyć zasady zarządzania cyklem życia tylko w witrynie Azure Portal. Aby uzyskać więcej przykładów pokazujących sposób tworzenia zasad zarządzania cyklem życia, zobacz Konfigurowanie zasad zarządzania cyklem życia.

Uwaga

Przed użyciem zasad zarządzania cyklem życia w celu przeniesienia danych do warstwy archiwum sprawdź, czy dane nie muszą zostać usunięte lub przeniesione do innej warstwy przez co najmniej 180 dni. Dane, które zostały usunięte lub przeniesione do innej warstwy przed upływem 180 dni, podlegają wczesnej opłacie za usunięcie.

Należy również pamiętać, że dane w warstwie Archiwum muszą być ponownie wypełnianie, zanim będzie można je odczytywać lub modyfikować. Ponowne wypełnianie obiektu blob z warstwy Archiwum może potrwać kilka godzin i wiąże się z kosztami.

Aby utworzyć zasady zarządzania cyklem życia w celu archiwizowania obiektów blob w witrynie Azure Portal, wykonaj następujące kroki:

Krok 1. Tworzenie reguły i określanie typu obiektu blob

  1. Przejdź do konta magazynu w portalu.

  2. W obszarze Zarządzanie danymi znajdź ustawienia zarządzania cyklem życia.

  3. Wybierz przycisk Dodaj regułę.

  4. Na karcie Szczegóły określ nazwę reguły.

  5. Określ zakres reguły: Zastosuj regułę do wszystkich obiektów blob na koncie magazynu lub Ogranicz obiekty blob za pomocą filtrów.

  6. Wybierz typy obiektów blob, dla których ma zostać zastosowana reguła, i określ, czy mają zostać uwzględnione migawki obiektów blob, czy wersje.

    Screenshot showing how to configure a lifecycle management policy - Details tab.

Krok 2. Dodawanie warunków reguły

  1. W zależności od wybranych opcji można skonfigurować reguły dla podstawowych obiektów blob (bieżących wersji), poprzednich wersji lub migawek obiektów blob. Określ jeden z dwóch warunków do sprawdzenia:

    • Obiekty zostały ostatnio zmodyfikowane kilka dni temu.
    • Obiekty zostały utworzone kilka dni temu.
    • Ostatnio uzyskiwano dostęp do obiektów kilka dni temu.

    Do przeniesienia określonego typu obiektu do warstwy archiwum na regułę można zastosować tylko jeden z tych warunków. Jeśli na przykład zdefiniujesz akcję, która archiwizuje podstawowe obiekty blob, jeśli nie zostały zmodyfikowane przez 90 dni, nie można również zdefiniować akcji, która archiwizuje podstawowe obiekty blob, jeśli nie były dostępne przez 90 dni. Podobnie można zdefiniować jedną akcję na regułę z jednym z tych warunków w celu zarchiwizowania poprzednich wersji i jednej z migawek archiwum.

  2. Następnie określ liczbę dni, które upłynęły po zmodyfikowaniu lub dokonaniu dostępu do obiektu.

  3. Określ, że obiekt ma zostać przeniesiony do warstwy Archiwum po upływie interwału.

    Screenshot showing how to configure a lifecycle management policy - Base blob tab.

  4. Jeśli zdecydujesz się ograniczyć obiekty blob, których dotyczy reguła z filtrami, możesz określić filtr z prefiksem obiektu blob lub dopasowaniem indeksu obiektów blob.

Krok 3. Upewnij się, że reguła wyklucza ponownie wypełnianie obiektów blob

W przypadku ponownego wypełniania obiektu blob przez zmianę jej warstwy ta reguła przeniesie obiekt blob z powrotem do warstwy archiwum, jeśli czas ostatniej modyfikacji, czas tworzenia lub czas ostatniego dostępu przekroczy próg ustawiony dla zasad.

Jeśli wybrano warunek Ostatniej modyfikacji reguły, możesz temu zapobiec, wybierając pozycję Pomiń obiekty blob, które zostały ponownie wypełnianie w ciągu ostatnich, a następnie wprowadź liczbę dni, w których obiekt blob ponownie wypełniania ma zostać wykluczony z tej reguły.

Screenshot showing the skip blobs that have been rehydrated in the last setting.

Uwaga

Ta opcja jest wyświetlana tylko wtedy, gdy wybrano warunek Ostatniej modyfikacji reguły.

Wybierz przycisk Dodaj, aby dodać regułę do zasad.

Wyświetlanie kodu JSON zasad

Po utworzeniu zasad zarządzania cyklem życia można wyświetlić kod JSON zasad na stronie zarządzania cyklem życia, przełączając się z widoku Listy na widok Kod.

Oto kod JSON dla prostych zasad zarządzania cyklem życia utworzonych na powyższych obrazach:

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

Zobacz też