Archivace objektu blob

Archivní úroveň je offline vrstva pro ukládání dat objektů blob, ke kterým se přistupuje zřídka. Archivní úroveň nabízí nejnižší náklady na úložiště, ale vyšší náklady na načítání dat a latenci v porovnání s online úrovněmi (horká a studená). Data musí zůstat v archivní úrovni nejméně 180 dnů nebo se na ně vztahují poplatky za předčasné odstranění. Další informace o archivní úrovni naleznete v tématu Archivní úroveň přístupu.

I když je objekt blob v archivní úrovni, nejde ho číst ani upravovat. Pokud chcete objekt blob na úrovni Archiv přečíst nebo stáhnout, musíte ho nejprve dosadít na online úroveň, horkou nebo studenou. Dosazování dat na úrovni Archiv může trvat až 15 hodin v závislosti na prioritě zadané pro operaci dosazování. Další informace o dosazování objektů blob najdete v tématu Přehled dosazování objektů blob z archivní úrovně.

Upozornění

Objekt blob v archivní úrovni je offline. To znamená, že jej nelze číst ani upravovat, dokud nebude rehydrován. Proces dosazování může trvat několik hodin a má přidružené náklady. Než přesunete data do archivní úrovně, zvažte, jestli může přechod dat objektů blob do offline režimu ovlivnit vaše pracovní postupy.

Ke správě archivace dat můžete použít Azure Portal, PowerShell, Azure CLI nebo jednu z klientských knihoven Azure Storage.

Archivace objektů blob při nahrávání

Pokud chcete archivovat jeden nebo více objektů blob při nahrání, vytvořte objekt blob přímo v archivní vrstvě.

Pokud chcete archivovat objekt blob nebo sadu objektů blob při nahrávání z Azure Portal, postupujte takto:

  1. Přejděte do cílového kontejneru.

  2. Vyberte tlačítko Nahrát.

  3. Vyberte soubor nebo soubory, které chcete nahrát.

  4. Rozbalte část Upřesnit a nastavte úroveň Přístupu na Archiv.

  5. Vyberte tlačítko Nahrát.

    Snímek obrazovky znázorňující, jak nahrát objekty blob do archivní úrovně v Azure Portal

Archivace existujícího objektu blob

Existující objekt blob můžete přesunout do archivní úrovně jedním ze dvou způsobů:

  • Úroveň objektu blob můžete změnit pomocí operace Nastavit úroveň objektu blob . Nastavit úroveň objektu blob přesune jeden objekt blob z jedné vrstvy do jiné.

    Mějte na paměti, že když přesunete objekt blob do archivní úrovně s nastavenou úrovní objektů blob, nebudete moct číst ani upravovat data objektu blob, dokud objekt blob nenasadíte. Pokud možná budete muset číst nebo upravovat data objektu blob před uplynutím počátku intervalu odstranění, zvažte použití operace kopírování objektu blob k vytvoření kopie objektu blob ve vrstvě Archiv.

  • Objekt blob v online vrstvě můžete zkopírovat do archivní vrstvy pomocí operace Kopírování objektu blob . Operaci kopírování objektu blob můžete volat ke zkopírování objektu blob z online vrstvy (horká nebo studená) do archivní úrovně. Zdrojový objekt blob zůstává v online vrstvě a můžete pokračovat ve čtení nebo úpravě dat v online vrstvě.

Archivace existujícího objektu blob změnou její vrstvy

Pomocí operace Nastavit úroveň objektu blob můžete přesunout objekt blob z horké nebo studené úrovně na archivní úroveň. Operace Nastavit úroveň objektů blob je nejvhodnější pro scénáře, kdy nebudete muset přistupovat k archivovaným datům, než uplynul interval předčasného odstranění.

Operace Nastavit úroveň objektu blob změní úroveň jednoho objektu blob. Pokud chcete přesunout sadu objektů blob na archivní úroveň s optimálním výkonem, Microsoft doporučuje provést hromadnou operaci archivace. Hromadná operace archivace odesílá do služby dávku volání set blob vrstvy v jedné transakci. Další informace naleznete v tématu Hromadné archivace.

Pokud chcete přesunout existující objekt blob na archivní úroveň v Azure Portal, postupujte takto:

  1. Přejděte do kontejneru objektu blob.

  2. Vyberte objekt blob, který chcete archivovat.

  3. Vyberte tlačítko Změnit úroveň .

  4. V rozevíracím seznamu úrovně Accessu vyberte Archiv.

  5. Vyberte Uložit.

    Snímek obrazovky znázorňující, jak nastavit úroveň objektu blob na Archiv v Azure Portal

Archivace existujícího objektu blob pomocí operace kopírování

Pomocí operace kopírování objektu blob zkopírujte objekt blob z horké nebo studené vrstvy do archivní úrovně. Zdrojový objekt blob zůstane ve horké nebo studené úrovni, zatímco cílový objekt blob se vytvoří v archivní vrstvě.

Operace kopírování objektů blob je nejvhodnější pro scénáře, kdy možná budete muset před uplynutím počátku intervalu odstranění přečíst nebo upravit archivovaná data. K datům zdrojového objektu blob se dostanete bez nutnosti dosazování archivovaného objektu blob.

N/A

Hromadný archiv

Při přesouvání velkého počtu objektů blob na archivní úroveň použijte dávkovou operaci pro optimální výkon. Dávková operace odesílá do služby více volání rozhraní API s jedním požadavkem. Mezi dílčí operace podporované operací Batch objektů blob patří odstranění objektu blob a nastavení úrovně objektů blob.

Pokud chcete archivovat objekty blob pomocí dávkové operace, použijte jednu z klientských knihoven služby Azure Storage. Následující příklad kódu ukazuje, jak provést základní dávkovou operaci s klientskou knihovnou .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);
    }
}

Podrobná ukázková aplikace, která ukazuje, jak změnit úrovně pomocí dávkové operace, najdete v tématu AzBulkSetBlobTier.

Použití zásad správy životního cyklu k archivaci objektů blob

Náklady na data objektů blob, ke kterým se přistupuje zřídka, můžete optimalizovat tak, že vytvoříte zásady správy životního cyklu, které automaticky přesunou objekty blob do archivní vrstvy, když se k nim po určité časové období nepřistupovaly nebo nezměnily. Jakmile nakonfigurujete zásady správy životního cyklu, Azure Storage ho spustí jednou denně. Další informace o zásadách správy životního cyklu najdete v tématu Optimalizace nákladů automatickou správou životního cyklu dat.

K vytvoření zásad správy životního cyklu můžete použít šablonu Azure Portal, PowerShellu, Azure CLI nebo Azure Resource Manager. Pro zjednodušení tato část ukazuje, jak vytvořit zásady správy životního cyklu pouze v Azure Portal. Další příklady ukazující, jak vytvořit zásady správy životního cyklu, najdete v tématu Konfigurace zásad správy životního cyklu.

Upozornění

Než použijete zásady správy životního cyklu k přesunu dat do archivní úrovně, ověřte, že data nemusí být odstraněna nebo přesunuta do jiné vrstvy po dobu nejméně 180 dnů. Data odstraněná nebo přesunutá na jinou úroveň před uplynutím 180denního období podléhají poplatku za předčasné odstranění.

Mějte také na paměti, že data v archivní vrstvě musí být před čtením nebo úpravou rehydrována. Dosazování objektu blob z archivní úrovně může trvat několik hodin a má přidružené náklady.

Pokud chcete vytvořit zásadu správy životního cyklu pro archivaci objektů blob v Azure Portal, postupujte takto:

Krok 1: Vytvoření pravidla a zadání typu objektu blob

  1. Na portálu přejděte ke svému účtu úložiště.

  2. V části Správa dat vyhledejte nastavení správy životního cyklu .

  3. Vyberte tlačítko Přidat pravidlo .

  4. Na kartě Podrobnosti zadejte název pravidla.

  5. Zadejte obor pravidla: Použijte pravidlo pro všechny objekty blob ve vašem účtu úložiště nebo omezte objekty blob pomocí filtrů.

  6. Vyberte typy objektů blob, pro které se má pravidlo použít, a určete, jestli se mají zahrnout snímky objektů blob nebo verze.

    Snímek obrazovky znázorňující, jak nakonfigurovat zásady správy životního cyklu – karta Podrobnosti

Krok 2: Přidání podmínek pravidla

  1. V závislosti na vašich výběrech můžete nakonfigurovat pravidla pro základní objekty blob (aktuální verze), předchozí verze nebo snímky objektů blob. Zadejte jednu ze dvou podmínek, které chcete zkontrolovat:

    • Objekty byly naposledy změněny před několika dny.
    • Objekty byly vytvořeny před několika dny.
    • Objekty byly naposledy přístupné před několika dny.

    Pro přesunutí konkrétního typu objektu na úroveň Archiv na pravidlo lze použít pouze jednu z těchto podmínek. Pokud například definujete akci, která archivuje základní objekty blob, pokud nebyly změněny po dobu 90 dnů, nemůžete také definovat akci, která archivuje základní objekty blob, pokud nebyly přístupné po dobu 90 dnů. Podobně můžete definovat jednu akci na pravidlo s některou z těchto podmínek pro archivaci předchozích verzí a jednu pro archivní snímky.

  2. Dále zadejte počet dnů, které uplynuly po změně nebo přístupu objektu.

  3. Zadejte, že se objekt po uplynutí intervalu přesune do archivní úrovně.

    Snímek obrazovky znázorňující, jak nakonfigurovat zásady správy životního cyklu – karta Základní objekt blob

  4. Pokud jste se rozhodli omezit objekty blob ovlivněné pravidlem pomocí filtrů, můžete zadat filtr, a to buď s předponou objektu blob, nebo shodou indexu objektů blob.

Krok 3: Ujistěte se, že pravidlo vylučuje rehydrované objekty blob

Pokud objekt blob znovu dosazujete změnou jeho úrovně, toto pravidlo přesune objekt blob zpět na archivní úroveň, pokud čas poslední změny, čas vytvoření nebo čas posledního přístupu překročí prahovou hodnotu nastavenou pro zásadu.

Pokud jste vybrali podmínku pravidla poslední změny , můžete tomu zabránit tak, že vyberete Přeskočit objekty blob, které byly dosazovány za poslední dobu, a potom zadáte počet dnů, po které má být rehydrovaný objekt blob vyloučen z tohoto pravidla.

Snímek obrazovky znázorňující přeskočení objektů blob, které byly rehydrovány v posledním nastavení

Poznámka

Tato možnost se zobrazí pouze v případě, že jste vybrali podmínku pravidla poslední změny .

Vyberte tlačítko Přidat a přidejte pravidlo do zásady.

Zobrazení kódu JSON zásad

Po vytvoření zásad správy životního cyklu můžete zobrazit JSON pro zásadu na stránce Správa životního cyklu přepnutím ze zobrazení seznamu na zobrazení kódu.

Tady je JSON pro jednoduchou zásadu správy životního cyklu vytvořenou na obrázcích uvedených výše:

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

Viz také