Azure Blob 儲存體簡介

Azure Blob 儲存體是 Microsoft 針對雲端推出的物件儲存體解決方案。 Blob 儲存體經過最佳化,已能妥善儲存大量的非結構化資料。 「非結構化資料」是指不符合特定資料模型或定義的資料,例如文字或二進位資料。

關於 Blob 儲存體

Blob 儲存體設計用來:

  • 直接提供映像或文件給瀏覽器。
  • 儲存檔案供分散式存取。
  • 串流影片和音訊。
  • 寫入至記錄檔。
  • 儲存資料以供備份和還原、災害復原和封存。
  • 儲存資料供內部部署或 Azure 裝載服務進行分析。

使用者或用戶端應用程式可以從世界各地透過 HTTP/HTTPS 存取 Blob 儲存體中的物件。 Blob 儲存體中的物件可透過 Azure 儲存體 REST APIAzure PowerShellAzure CLI 或 Azure 儲存體用戶端程式庫存取。 用戶端程式庫適用於不同的語言,包括:

用戶端也可以使用 SSH 檔案傳輸通訊協定 (SFTP) 安全地連線到 Blob 儲存體,並使用網路檔案系統 (NFS) 3.0 通訊協定裝載 Blob 儲存體容器。

有關 Azure Data Lake Storage Gen2

Blob 儲存體支援 Azure Data Lake Storage Gen2,這是適用於雲端的 Microsoft 企業巨量資料分析解決方案。 Azure Data Lake Storage Gen2 會提供階層式檔案系統,以及 Blob 儲存體的優點,包括:

  • 低成本的分層式儲存體
  • 高可用性
  • 「強式」一致性
  • 災害復原功能

如需 Data Lake Storage Gen2 的詳細資訊,請參閱 Azure Data Lake Storage Gen2 簡介

Blob 儲存體資源

Blob 儲存體提供三種類型資源:

  • 儲存體帳戶
  • 儲存體帳戶中的容器
  • 容器中的 Blob

下圖顯示資源之間的關係。

Diagram showing the relationship between a storage account, containers, and blobs

儲存體帳戶

儲存體帳戶會在 Azure 中為您的資料提供唯一命名空間。 每個儲存在 Azure 儲存體中的物件都有一個位址,其中包含您的唯一帳戶名稱。 帳戶名稱與 Blob 儲存體端點的組合會形成儲存體帳戶中物件的基底位址。

例如,如果您的儲存體帳戶名為 mystorageaccount,則 Blob 儲存體的預設端點將是:

http://mystorageaccount.blob.core.windows.net

下表說明 Blob 儲存體支援的不同儲存體帳戶類型:

儲存體帳戶的類型 效能層級 使用方式
一般用途 v2 標準 Blob、檔案共用、佇列和資料表的標準儲存體帳戶類型。 針對大部分使用 Blob 儲存體或其他 Azure 儲存體服務的情況,建議使用。
區塊 Blob Premium 適用於區塊 Blob 和附加 Blob 的進階儲存體帳戶類型。 建議用於高交易率的案例,或是使用較小型物件或需要一直保持低儲存體延遲的案例。 深入了解進階區塊 Blob 帳戶的工作負載
分頁 Blob Premium 僅適用於分頁 Blob 的進階儲存體帳戶類型。 深入了解進階分頁 Blob 帳戶的工作負載

若要深入了解儲存體帳戶類型,請參閱 Azure 儲存體帳戶概觀。 如需舊版儲存體帳戶類型的資訊,請參閱舊版儲存體帳戶類型

若要了解如何建立儲存體帳戶,請參閱建立儲存體帳戶

容器

容器會組織一組 Blob,類似於檔案系統中的目錄。 儲存體帳戶可以包含無限數量的容器,而一個容器則可儲存無限數量的 Blob。

容器名稱必須是有效的 DNS 名稱,因為它會形成用來定址容器或其 blob 的唯一 URI (統一資源識別項) 的一部分。 命名容器時,請遵循下列規則:

  • 容器名稱長度可介於 3 到 63 個字元之間。
  • 容器名稱必須以字母或數字開頭,而且只能包含小寫字母、數字和虛線 (-) 字元。
  • 容器名稱中不允許兩個或多個連續虛線字元。

容器的 URI 類似於:

https://myaccount.blob.core.windows.net/mycontainer

如需為容器命名的詳細資訊,請參閱命名和參考容器、Blob 及中繼資料

Blob

Azure 儲存體支援三種 Blob 類型:

  • 區塊 Blob 可儲存文字和二進位資料。 區塊 Blob 是由可個別管理的資料區塊所組成。 區塊 Blob 最多可儲存約 190.7 TiB。
  • 附加 Blob 和區塊 Blob 相似,由區塊所組成,但已針對附加作業最佳化。 附加 Blob 很適合某些案例,例如記錄虛擬機器中的資料。
  • 分頁 Blob 可儲存隨機存取檔案 (大小上限為 8 TiB)。 分頁 Blob 存放區可儲存虛擬硬碟 (VHD) 檔案,以作為 Azure 虛擬機器的磁碟。 如需有關分頁 Blob 的詳細資訊,請參閱 Azure 分頁 Blob 的概觀

如需不同 Blob 類型的相關詳細資訊,請參閱了解區塊 Blob、附加 Blob 及分頁 Blob

Blob 的 URI 類似於:

https://myaccount.blob.core.windows.net/mycontainer/myblob

https://myaccount.blob.core.windows.net/mycontainer/myvirtualdirectory/myblob

為 Blob 命名時,請遵循這些規則:

  • Blob 名稱可包含任何字元組合。
  • 針對 Azure 儲存體中的 Blob,Blob 名稱長度必須至少為一個字元,且不可超過 1024 個字元。
  • Blob 名稱區分大小寫。
  • 保留的 URL 字元必須正確逸出。
  • 包含 Blob 名稱的路徑線段數目有一些限制。 路徑線段是連續分隔符號字元 (例如,正斜線 /) 之間的字串,對應至目錄或虛擬目錄。 下列路徑線段限制適用於 Blob 名稱:
    • 如果儲存體帳戶啟用階層命名空間,則組成 Blob 名稱的路徑線段數目不能超過 254。
    • 如果儲存體帳戶已啟用階層命名空間,則組成 Blob 名稱的路徑線段數目不能超過 63 (包括容器名稱和帳戶主機名稱的路徑線段)。

注意

請避免使用以點 (.)、正斜線 (/) 或兩者連續或組合做為結尾的 Blob 名稱。 沒有路徑線段應該以點 (.) 結尾。

如需為 Blob 命名的詳細資訊,請參閱命名和參考容器、Blob 及中繼資料

移動資料至 Blob 儲存體

目前已有幾個解決方案,可將現有資料移轉至 Blob 儲存體:

  • AzCopy 是一個簡單易用的命令列工具,可供 Windows 和 Linux 跨容器或跨儲存體帳戶,將資料複製到 Blob 儲存體或從該處複製資料。 如需 AzCopy 的相關詳細資訊,請參閱使用 AzCopy v10 傳輸資料
  • Azure 儲存體資料移動程式庫是用於在 Azure 儲存體服務之間移動資料的 .NET 程式庫。 AzCopy 公用程式已內建資料移動程式庫。 如需詳細資訊,請參閱資料移動程式庫的參考文件
  • Azure Data Factory支援使用「帳戶金鑰」、「共用存取簽章」、「服務主體」或「Azure 資源的受控識別」來複製資料至 Blob 儲存體,或從該處複製資料。 如需詳細資訊,請參閱使用 Azure Data Factory 將資料複製到 Azure Blob 儲存體或從該處複製資料 (部分機器翻譯)。
  • BlobFuse 是 Azure Blob 儲存體的虛擬檔案系統驅動程式。 您可以使用 Blobfuse 透過 Linux 檔案系統存取您儲存體帳戶中現有的區塊 Blob 資料。 如需詳細資訊,請參閱什麼是 BlobFuse?- BlobFuse2 (預覽) (部分機器翻譯)。
  • Azure 資料箱服務可在因為要上傳大型資料集,或因網路限制而難以透過網路上傳資料時,將內部部署資料傳輸至 Blob 儲存體。 根據您的資料大小,您可以向 Microsoft 要求 Azure 資料箱磁碟Azure 資料箱Azure Data Box Heavy。 接著,您可以將資料複製到這些裝置,並將其寄回給 Microsoft,以上傳至 Blob 儲存體。
  • Azure 匯入/匯出服務提供一種方便的方式,可讓您使用自行提供的硬碟在儲存體帳戶中匯入或匯出大量資料。 如需詳細資訊,請參閱什麼是 Azure 匯入/匯出服務?

下一步