Festlegen der Zugriffsebene eines Blobs

Sie haben folgende Möglichkeiten, um die Zugriffsebene eines Blobs festzulegen:

  • Durch Festlegen der standardmäßigen Onlinezugriffsebene (heiße Ebene oder kalte Ebene) für das Speicherkonto. Blobs im Konto erben diese Zugriffsebene, sofern die Einstellung für ein einzelnes Blob nicht explizit außer Kraft gesetzt wird.
  • Durch explizites Festlegen der Ebene eines Blobs beim Hochladen. Sie können ein Blob auf der heißen Ebene, der kalten Ebene, der Ebene „Cold“ oder der Archivebene erstellen.
  • Durch Ändern der vorhandenen Ebene eines Blobs mit einem Vorgang „Blobebene festlegen“. In der Regel würden Sie diesen Vorgang verwenden, um von einer heißeren zu einer kälteren Ebene zu wechseln.
  • Durch Kopieren eines Blobs mit einem Vorgang „Blob kopieren“. In der Regel würden Sie diesen Vorgang verwenden, um von einer kälteren zu einer heißeren Ebene zu wechseln.

In diesem Artikel wird beschrieben, wie Sie ein Blob auf einer Onlinezugriffsebene verwalten. Weitere Informationen zum Verschieben eines Blobs in die Archivebene finden Sie unter Archivieren eines Blobs. Weitere Informationen zum Aktivieren eines Blobs aus der Archivebene finden Sie im Artikel zum Aktivieren eines archivierten Blobs in eine Onlineebene.

Weitere Informationen zu den Zugriffsebenen für Blobs finden Sie unter Zugriffsebenen für Blobdaten.

Festlegen der Standardzugriffsebene für ein Speicherkonto

Die Standardeinstellung für die Zugriffsebene für ein universelles V2-Speicherkonto bestimmt, in welcher Onlineebene ein neues Blob standardmäßig erstellt wird. Sie können die Standardzugriffsebene für ein universelles V2-Speicherkonto beim Erstellen des Kontos oder durch Aktualisieren der Konfiguration eines vorhandenen Kontos festlegen.

Wenn Sie die Standardeinstellung für die Zugriffsebene für ein vorhandenes universelles V2-Speicherkonto ändern, gilt die Änderung für alle Blobs im Konto, für die keine explizite Zugriffsebene festgelegt wurde. Die Änderung der Standardzugriffsebene kann sich auf die Abrechnung auswirken. Weitere Informationen finden Sie unter Einstellung für die Standardzugriffsebene eines Kontos.

Führen Sie die folgenden Schritte aus, um die Standardzugriffsebene für ein Speicherkonto bei der Erstellung im Azure-Portal festzulegen:

  1. Navigieren Sie zur Seite Speicherkonten, und wählen Sie die Schaltfläche Erstellen aus.

  2. Füllen Sie die Registerkarte Grundlagen aus.

  3. Legen Sie die Zugriffsebene auf der Registerkarte Erweitert unter Blobspeicher auf Heiß oder Kalt fest. Die Standardeinstellung ist Heiß.

  4. Wählen Sie Überprüfen und erstellen aus, um die Einstellungen zu überprüfen und das Speicherkonto zu erstellen.

    Screenshot: Festlegen der Standardzugriffsebene beim Erstellen eines Speicherkontos.

Führen Sie die folgenden Schritte aus, um die Standardzugriffsebene für ein vorhandenes Speicherkonto im Azure-Portal zu aktualisieren:

  1. Navigieren Sie im Azure-Portal zu dem Speicherkonto.

  2. Klicken Sie unter Einstellungen auf Konfiguration.

  3. Suchen Sie die Einstellung Blobzugriffsebene (Standard) , und wählen Sie Heiß oder Kalt aus. Die Standardeinstellung ist Heiß, sofern diese Eigenschaft noch nicht festgelegt wurde.

  4. Speichern Sie die Änderungen.

Festlegen der Ebene eines Blobs beim Hochladen

Wenn Sie ein Blob in Azure Storage hochladen, haben Sie zwei Möglichkeiten zum Festlegen der Ebene eines Blobs beim Hochladen:

  • Sie können explizit die Ebene angeben, in der das Blob erstellt wird. Diese Einstellung setzt die Standardzugriffsebene für das Speicherkonto außer Kraft. Sie können die Ebene für ein Blob oder eine Gruppe von Blobs beim Hochladen in die heiße Ebene, die kalte Ebene, die Ebene „Cold“ oder die Ebene „Archiv“ festlegen.
  • Sie können ein Blob hochladen, ohne eine Ebene anzugeben. In diesem Fall wird das Blob in der für das Speicherkonto angegebenen Standardzugriffsebene erstellt (entweder heiße Ebene oder kalte Ebene).

Wenn Sie ein neues Blob hochladen, das einen Verschlüsselungsbereich verwendet, können Sie die Zugriffsebene für dieses Blob nicht ändern.

In den folgenden Abschnitten wird beschrieben, wie Sie angeben, ob ein Blob in die heiße Ebene oder die kalte Ebene hochgeladen wird. Weitere Informationen zum Archivieren eines Blobs beim Hochladen finden Sie unter Archivieren von Blobs beim Hochladen.

Hochladen eines Blobs in eine bestimmte Onlineebene

Um ein Blob auf der heißen Ebene, der kalten Ebene oder der Ebene „Cold“ zu erstellen, geben Sie die betreffende Ebene beim Erstellen des Blobs an. Die beim Hochladen angegebene Zugriffsebene setzt die Standardzugriffsebene für das Speicherkonto außer Kraft.

Führen Sie die folgenden Schritte aus, um ein Blob oder mehrere Blobs im Azure-Portal in eine bestimmte Ebene hochzuladen:

  1. Navigieren Sie zum Zielcontainer.

  2. Wählen Sie die Schaltfläche Hochladen.

  3. Wählen Sie die Datei oder die Dateien aus, die Sie hochladen möchten.

  4. Erweitern Sie den Abschnitt Erweitert, und legen Sie die Zugriffsebene auf Heiß oder Kalt fest.

  5. Wählen Sie die Schaltfläche Hochladen.

    Screenshot: Hochladen von Blobs in eine Onlineebene im Azure-Portal.

Hochladen eines Blobs in die Standardebene

Speicherkonten verfügen über eine Einstellung für die Standardzugriffsebene, mit der die Onlineebene angegeben wird, auf der ein neues Blob erstellt wird. Die Einstellung für die Standardzugriffsebene kann auf die heiße oder die kalte Ebene festgelegt werden. Das Verhalten dieser Einstellung unterscheidet sich abhängig vom Typ des Speicherkontos geringfügig:

  • Die Standardzugriffsebene für ein neues universelles v2-Speicherkonto ist standardmäßig auf die Hot Tier eingestellt. Sie können die Einstellung für die Standardzugriffsebene beim oder nach dem Erstellen eines Speicherkontos ändern.
  • Wenn Sie ein Legacy-Blob Storage-Konto erstellen, müssen Sie die Einstellung für die Standardzugriffsebene bei der Erstellung des Speicherkontos auf heiße Ebene oder kalte Ebene festlegen. Sie können die Einstellung für die Standardzugriffsebene nach Erstellung eines Speicherkontos ändern.

Für ein Blob, dem keine explizite Ebene zugewiesen ist, wird die zugehörige Ebene von der Einstellung für die Standardzugriffsebene des Kontos abgeleitet. Im Azure-Portal, mit PowerShell oder über die Azure-Befehlszeilenschnittstelle können Sie ermitteln, ob die Zugriffsebene eines Blobs abgeleitet ist.

Wenn die Zugriffsebene eines Blobs von der Einstellung für die Standardzugriffsebene des Kontos abgeleitet ist, wird im Azure-Portal als Zugriffsebene Heiß (abgeleitet) oder Kalt (abgeleitet) angezeigt.

Screenshot: Blobs mit der Standardzugriffsebene im Azure-Portal.

Verschieben eines Blobs in eine andere Onlineebene

Sie können ein Blob auf zwei Arten auf eine andere Online-Ebene verschieben:

  • Durch Ändern der Zugriffsebene
  • Durch Kopieren des Blobs auf eine andere Online-Ebene

Weitere Informationen zu den jeweiligen Möglichkeiten finden Sie unter Festlegen oder Ändern der Ebene eines Blobs.

Sie können ein Blob mit PowerShell, Azure CLI, AzCopy v10 oder einer der Azure Storage-Clientbibliotheken auf eine andere Ebene verschieben.

Ändern der Ebene eines Blobs

Wenn Sie die Ebene eines Blobs ändern, verschieben Sie dieses Blob und alle seine Daten auf die Zielebene, indem Sie den Vorgang Blobebene festlegen aufrufen (entweder direkt oder über eine Richtlinie für die Lebenszyklusverwaltung), oder indem Sie den AzCopy-Befehl azcopy set-properties aufrufen. Diese Option ist in der Regel am besten, um die Ebene eines Blobs von einer heißeren in eine kältere Ebene zu ändern.

Um die Ebene eines Blobs im Azure-Portal in eine kältere Ebene zu ändern, führen Sie die folgenden Schritte aus:

  1. Navigieren Sie zu dem Blob, für das Sie die Ebene ändern möchten.

  2. Wählen Sie das Blob und dann die Schaltfläche Ebene ändern aus.

  3. Wählen Sie im Dialogfeld Ebene ändern die Zielebene aus.

  4. Klicken Sie auf die Schaltfläche Speichern.

    Screenshot: Ändern der Ebene eines Blobs im Azure-Portal

Kopieren eines Blobs in eine andere Onlineebene

Rufen Sie zum Kopieren eines Blobs von einer Ebene auf eine andere den Vorgang Blob kopieren auf. Wenn Sie ein Blob in eine andere Ebene kopieren, wird das betreffende Blob mit allen zugehörigen Daten in die Zielebene kopiert. Das Quellblob verbleibt auf der ursprünglichen Ebene, und auf der Zielebene wird ein neues Blob erstellt. Der Aufruf von Blob kopieren wird für die meisten Szenarien empfohlen, bei denen Sie ein Blob in eine wärmere Ebene verschieben oder ein Blob aus der Archivebene aktivieren.

Massentiering

Um Blobs in einem Container oder Ordner auf eine andere Ebene zu verschieben, listen Sie Blobs auf, und rufen Sie jeweils den Vorgang „Blobebene festlegen“ auf. Das folgende Beispiel zeigt, wie Sie diesen Vorgang ausführen:

Wenn Sie eine große Anzahl von Blobs auf eine andere Ebene verschieben, verwenden Sie einen Batchvorgang, um eine optimale Leistung zu gewährleisten. Ein Batchvorgang sendet mehrere API-Befehle mit einer einzelnen Anfrage an den Dienst. Zu den vom Blobbatchvorgang unterstützten Untervorgängen gehören Blob löschen und Blob-Ebene festlegen.

Hinweis

Der Untervorgang Set Blob Tier des Vorgangs Blob Batch wird in Konten mit einem hierarchischen Namespace noch nicht unterstützt.

Um die Zugriffsebene von Blobs mit einem Batchvorgang zu ändern, verwenden Sie eine der Azure Storage-Client-Bibliotheken. Das folgende Codebeispiel zeigt, wie Sie einen einfachen Batchvorgang mit der .NET-Client-Bibliothek durchführen:

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

Ein ausführliches Beispiel, das zeigt, wie Sie Ebenen mit einem Batchvorgang ändern, finden Sie unter AzBulkSetBlobTier.

Nächste Schritte