共用方式為


使用 Azure 資料箱裝置將數據傳送至適當的 Azure 記憶體 Blob 層

Azure Data Box 透過寄送專有的儲存裝置,將大量資料傳送至 Azure。 您將裝置填滿數據並加以傳回。 數據箱中的數據會上傳至與記憶體帳戶相關聯的預設層。 然後,您可以將數據移至另一個儲存層。

本文說明如何將 Data Box 上傳的資料移至熱、冷或封存 Blob 層級。 本文適用於所有 Azure 數據箱、Data Box Next-Gen 和 Azure Data Box Heavy。

備註

建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 開始使用前,請參閱安裝 Azure PowerShell。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az

為您的數據選擇正確的儲存層

Azure 儲存體允許三個不同的儲存層級以最符合成本效益的方式儲存資料 - 熱存取、冷存取或封存。 熱儲存層已針對經常存取的資料進行優化。 熱儲存的存儲成本高於冷儲存和封存儲存,但存取成本最低。

冷儲存層適用於需要至少儲存 30 天且不常存取的數據。 冷層的儲存成本低於熱層,但相較於熱層,數據存取費用很高。

Azure 封存層已離線,並提供最低的記憶體成本,但也提供最高的存取成本。 此層適用於至少 180 天保留在封存記憶體中的數據。 如需這些層和定價模式的詳細數據,請移至 儲存層的比較

數據箱或Data Box Heavy 中的數據會上傳至與記憶體帳戶相關聯的儲存層。 當您建立儲存帳戶時,您可以將存取層指定為熱層或冷層。 視工作負載和成本的存取模式而定,您可以將此數據從預設層移至另一個儲存層。

您只能在 Blob 記憶體或一般用途 v2 (GPv2) 帳戶中分層您的物件記憶體數據。 一般用途 v1 (GPv1) 帳戶不支持階層處理。 若要為您的數據選擇正確的儲存層,請參閱 Azure Blob 儲存體:高階、經常性存取、非經常性存取和封存儲存層中詳述的考慮要點。

設定預設 Blob 層

在 Azure 入口網站中建立記憶體帳戶時,會指定預設 Blob 層。 選取記憶體類型為 GPv2 或 Blob 記憶體之後,就可以指定存取層屬性。 預設情況下,會選取熱層。

如果您嘗試在訂購數據箱或 Data Box Heavy 時建立新帳戶,則無法指定階層。 建立帳戶之後,您可以在入口網站中修改帳戶,以設定預設存取層。

或者,您必須先使用指定的存取層屬性來建立記憶體帳戶。 建立數據箱或 Data Box Heavy 訂單時,請選取現有的記憶體帳戶。 如需如何在記憶體帳戶建立期間設定預設 Blob 層的詳細資訊,請移至 在 Azure 入口網站中建立記憶體帳戶

將數據移至非預設層

將資料從資料箱裝置上傳至預設層之後,您可能會想要將數據移至非預設層。 有兩種方式可將此數據移至非預設層。

  • Azure Blob 記憶體生命週期管理 - 您可以使用原則式方法來自動分層數據,或在生命周期結束時到期。 如需詳細資訊,請移至 管理 Azure Blob 記憶體生命週期
  • 腳本 - 您可以使用透過 Azure PowerShell 撰寫文稿的方法來啟用 Blob 層級階層處理。 您可以呼叫 SetBlobTier 作業來設定 Blob 上的層。

使用 Azure PowerShell 設定 Blob 層

下列步驟說明如何使用 Azure PowerShell 腳本,將 Blob 層設定為封存。

  1. 開啟以管理員身分執行的 Windows PowerShell 工作階段。 請確定您執行的是 PowerShell 5.0 或更高版本。 類型:

    $PSVersionTable.PSVersion

  2. 登入 Azure PowerShell。

    Login-AzAccount

  3. 定義記憶體帳戶、存取金鑰、容器和記憶體內容的變數。

    $StorageAccountName = "<enter account name>"
    $StorageAccountKey = "<enter account key>"
    $ContainerName = "<enter container name>"
    $ctx = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey
    
  4. 取得容器中的所有 Blob。

    $blobs = Get-AzStorageBlob -Container "<enter container name>" -Context $ctx

  5. 將容器中所有 Blob 的階層設定為 [封存]。

    Foreach ($blob in $blobs) {
    $blob.ICloudBlob.SetStandardBlobTier("Archive")
    }
    

    範例輸出如下所示:

    Windows PowerShell
    Copyright (C) Microsoft Corporation. All rights reserved.
    PS C:\WINDOWS\system32> $PSVersionTable.PSVersion
    
    Major  Minor  Build  Revision
    -----  -----  -----  --------
    5      1      17763  134
    PS C:\WINDOWS\system32> Login-AzAccount
    
    Account          : gus@contoso.com
    SubscriptionName : MySubscription
    SubscriptionId   : subscription-id
    TenantId         : tenant-id
    Environment      : AzureCloud
    
    PS C:\WINDOWS\system32> $StorageAccountName = "mygpv2storacct"
    PS C:\WINDOWS\system32> $StorageAccountKey = "mystorageacctkey"
    PS C:\WINDOWS\system32> $ContainerName = "test"
    PS C:\WINDOWS\system32> $ctx = New-AzStorageContext -StorageAccountName $StorageAccountName -StorageAccountKey $StorageAccountKey
    PS C:\WINDOWS\system32> $blobs = Get-AzStorageBlob -Container "test" -Context $ctx
    PS C:\WINDOWS\system32> Foreach ($blob in $blobs) {
    >> $blob.ICloudBlob.SetStandardBlobTier("Archive")
    >> }
    PS C:\WINDOWS\system32>
    

    小提示

    如果您想在數據進入時就將其歸檔,請將預設帳戶層設定為熱層級。 如果預設層為 Cool 層,則如果數據立即移至封存層,會有 30 天的提早刪除處罰。

後續步驟