Freigeben über


Lebenszyklusverwaltungsrichtlinien, die Blobs zwischen Ebenen übertragen

Sie können Lifecycle-Verwaltungsrichtlinien verwenden, um Blobs basierend auf ihren Verwendungsmustern auf kosteneffiziente Zugriffsebenen umzustellen. Dieser Artikel enthält Beispiele für Richtliniendefinitionen, die Blobs zwischen Ebenen übertragen.

Allgemeine Informationen zu Azure Storage-Lifecycle-Verwaltungsrichtlinien finden Sie in der Übersicht über die Azure Blob Storage-Lebenszyklusverwaltung.

Verschieben von alternden Daten auf eine kühlere Ebene

Dieses Beispiel zeigt den Übergang von Blockblobs mit dem Präfix sample-container/blob1 oder container2/blob2. Die Richtlinie überführt Blobs, die mehr als 30 Tage nicht verändert wurden, in den kalten Speicher und Blobs, die in 90 Tagen nicht verändert wurden, in die Archivebene:

{
  "rules": [
    {
      "name": "agingRule",
      "enabled": true,
      "type": "Lifecycle",
      "definition": {
        "filters": {
          "blobTypes": [ "blockBlob" ],
          "prefixMatch": [ "sample-container/blob1", "container2/blob2" ]
        },
        "actions": {
          "baseBlob": {
            "tierToCool": { "daysAfterModificationGreaterThan": 30 },
            "tierToArchive": { "daysAfterModificationGreaterThan": 90 }
          }
        }
      }
    }
  ]
}

Hinweis

Das Element baseBlob in einer Richtlinie für die Lebenszyklusverwaltung bezieht sich auf die aktuelle Version eines Blobs.

Verschieben von Daten basierend auf der letzten Zugriffszeit

Im nachstehenden Beispiel werden Blobs in den kalten Speicher verschoben, wenn auf sie während 30 Tagen nicht zugegriffen wurde. Bei der enableAutoTierToHotFromCool-Eigenschaft handelt es sich um einen booleschen Wert, der angibt, ob für einen Blob automatisch ein Tiering von der kalten Ebene zurück zur heißen Ebene durchgeführt werden soll, wenn nach dem Tiering auf die kalte Ebene noch mal auf den Blob zugegriffen wird.

Tipp

Wenn ein Blob in die kalte Ebene verschoben und dann vor dem Ablauf von 30 Tagen automatisch zurückverschoben wird, wird eine Gebühr für das vorzeitige Löschen berechnet. Bevor Sie die enableAutoTierToHotFromCool-Eigenschaft festlegen, müssen Sie die Zugriffsmuster Ihrer Daten analysieren, um unerwartete Gebühren zu reduzieren. Das automatische Tiering von „Kalt“ auf „Heiß“ beim Blobzugriff ist auf einmal alle 30 Tage beschränkt. Mit dieser Schutzmaßnahme sollen mehrere Strafen für das frühe Löschen von der kalten Ebene vermieden werden. Wenn das Objekt durch die Richtlinie wieder zur kühlen Ebene zurückkehrt, werden alle Transaktionen auf dem Blob zu den Preisen für kühle Ebenen berechnet. Es ist kosteneffizient, das Blob in der heißen Ebene zu behalten, wenn es mehr als einmal in einem Zeitraum von 30 Tagen automatisch auf eine höhere Ebene verschoben werden muss.

Das Aktivieren einer Regel mit enableAutoTierToHotFromCool gilt nur für Objekte, die unter dieser Regel heruntergestuft wurden. Die enableAutoTierToHotFromCool Eigenschaft kann nicht für Blobs aktiviert werden, die sich bereits auf der coolen Ebene befinden. Daher ändert sich die Zugriffsebene dieser Blobs nicht automatisch auf "Hot", wenn auf sie zugegriffen wird.

{
  "enabled": true,
  "name": "last-accessed-thirty-days-ago",
  "type": "Lifecycle",
  "definition": {
    "actions": {
      "baseBlob": {
        "enableAutoTierToHotFromCool": true,
        "tierToCool": {
          "daysAfterLastAccessTimeGreaterThan": 30
        }
      }
    },
    "filters": {
      "blobTypes": [
        "blockBlob"
      ],
      "prefixMatch": [
        "mylifecyclecontainer/log"
      ]
    }
  }
}

Archivieren von Daten nach dem Einspeisen

Außerdem gibt es Daten, die in der Cloud lediglich vorgehalten werden und auf die nur sehr selten oder gar nicht zugegriffen wird. Die folgende Lebenszyklusrichtlinie ist so konfiguriert, dass Daten kurz nach der Erfassung archiviert werden. In diesem Beispiel werden Blockblobs im Container archivecontainer an eine Archivebene überführt. Der Übergang wird durch Ausführung der Aktion für Blobs 0 Tage nach dem Zeitpunkt der letzten Änderung erreicht.

Von Bedeutung

Wenn ein DataSet lesbar sein muss, legen Sie keine Richtlinie zum Verschieben von Blobs auf die Archivebene fest. Blobs auf der Archivebene können nur gelesen werden, wenn sie zum ersten Mal aktiviert werden. Dies ist ein Prozess, der zeitaufwändig und teuer sein kann. Weitere Informationen finden Sie unter Übersicht über die Aktivierung von Blobs aus der Archivebene. Wenn ein Dataset häufig gelesen werden muss, legen Sie keine Richtlinie zum Verschieben von Blobs in die kühle oder kalte Ebene fest, da dies zu höheren Transaktionskosten führen kann.

{
  "rules": [
    {
      "name": "archiveRule",
      "enabled": true,
      "type": "Lifecycle",
      "definition": {
        "filters": {
          "blobTypes": [ "blockBlob" ],
          "prefixMatch": [ "archivecontainer" ]
        },
        "actions": {
          "baseBlob": {
              "tierToArchive": { 
                "daysAfterModificationGreaterThan": 0
              }
          }
        }
      }
    }
  ]
}

Hinweis

Microsoft empfiehlt, Ihre Blobs aus Effizienzgründen direkt auf die Archivzugriffsebene hochzuladen. Sie können die Archivebene im Header x-ms-access-tier für den Vorgang Put Blob (Blob festlegen) oder Put Block List (Blockliste festlegen) angeben. Der Header x-ms-access-tier wird von der REST-Version 2018-11-09 und höher oder den neuesten Blobspeicher-Clientbibliotheken unterstützt.

Verwalten früherer Versionen

Für Daten, die während ihrer gesamten Lebensdauer regelmäßig geändert werden und auf die regelmäßig zugegriffen wird, können Sie die Blob Storage-Versionsverwaltung aktivieren, um frühere Versionen eines Objekts automatisch zu verwalten. Sie können eine Richtlinie erstellen, um frühere Versionen zu stufen. Das Alter der Version wird durch Auswertung der Erstellungszeit der Version bestimmt. Diese Richtlinienregel verschiebt frühere Versionen innerhalb des Containers activedata , die nach der Versionserstellung 90 Tage oder älter sind, auf die coole Ebene.

{
  "rules": [
    {
      "enabled": true,
      "name": "versionrule",
      "type": "Lifecycle",
      "definition": {
        "actions": {
          "version": {
            "tierToCool": {
              "daysAfterCreationGreaterThan": 90
            },
          }
        },
        "filters": {
          "blobTypes": [
            "blockBlob"
          ],
          "prefixMatch": [
            "activedata/"
          ]
        }
      }
    }
  ]
}

Hinweis

Das Versionselement in einer Lifecycle-Verwaltungsrichtlinie bezieht sich auf eine frühere Version.

Siehe auch