Azure Blob 儲存體簡介
Azure Blob 儲存體是 Microsoft 針對雲端推出的物件儲存體解決方案。 Blob 儲存體經過最佳化,已能妥善儲存大量的非結構化資料。 「非結構化資料」是指不符合特定資料模型或定義的資料,例如文字或二進位資料。
Blob 儲存體設計用來:
- 直接提供映像或文件給瀏覽器。
- 儲存檔案供分散式存取。
- 串流影片和音訊。
- 寫入至記錄檔。
- 儲存資料以供備份和還原、災害復原和封存。
- 儲存資料供內部部署或 Azure 裝載服務進行分析。
使用者或用戶端應用程式可以從世界各地透過 HTTP/HTTPS 存取 Blob 儲存體中的物件。 Blob 儲存體中的物件可透過 Azure 儲存體 REST API、Azure PowerShell、Azure CLI 或 Azure 儲存體用戶端程式庫存取。 用戶端程式庫適用於不同的語言,包括:
用戶端也可以使用 SSH 檔案傳輸通訊協定 (SFTP) 安全地連線到 Blob 儲存體,並使用網路檔案系統 (NFS) 3.0 通訊協定裝載 Blob 儲存體容器。
Blob 儲存體支援 Azure Data Lake Storage Gen2,這是適用於雲端的 Microsoft 企業巨量資料分析解決方案。 Azure Data Lake Storage Gen2 會提供階層式檔案系統,以及 Blob 儲存體的優點,包括:
- 低成本的分層式儲存體
- 高可用性
- 「強式」一致性
- 災害復原功能
如需 Data Lake Storage Gen2 的詳細資訊,請參閱 Azure Data Lake Storage Gen2 簡介。
Blob 儲存體提供三種類型資源:
- 儲存體帳戶
- 儲存體帳戶中的容器
- 容器中的 Blob
下圖顯示資源之間的關係。
儲存體帳戶會在 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 及中繼資料。
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 儲存體:
- 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 匯入/匯出服務?