Windows Azure Storage (22) Azure Storage如何支援多級目錄

來源:互聯網
上載者:User

標籤:

  《Windows Azure Platform 系列文章目錄》

 

  熟悉Azure平台的讀者都知道,Azure Blob有三層架構。如:(注意blob.core.chinacloudapi.net是Azure China的Service Endpoint)

  

  1.Blob Name: 儲存帳號名稱

  2.Container Name,容器名稱。概念上類似於檔案夾

  3.Blob Name:檔案名稱

  

  Azure Storage Block Blob概念上類似網盤,使用者可以把檔案、圖片、照片直接儲存到Azure Block Blob中。

  相比傳統的檔案系統目錄,Azure Block Blob只有一層結構,即Container/BlobName。Azure Block Blob不支援多級目錄。

  假設客戶的軟體架構要求支援多級目錄的話,遷移到Azure Block Blob就會遇到一些檔案。如:

        

  qq.png這個檔案的系統全目錄是:D:\1\2\3\qq.png

  

   而我們還有一個同樣的檔案名稱qq.png,他的目錄如下:

   

  與上面的qq.png的檔案名稱是相同的,但是檔案目錄是不同的。

 

 

 

  遇到這種情況,我們有兩種解決方案:

  一.使用關係型資料庫,建立資料庫表,實現多級目錄與Azure Storage對應關係

  二.將Azure Blob Name進行重新命名

 

 

  這裡分別介紹一下這2個解決方案

  一.使用關係型資料庫,建立資料庫表,實現多級目錄與Azure Storage對應關係

  在這種情況下,我們需要準備以下操作

  1.將檔案系統的檔案進行重新命名,設定為guid。如111-222-333.jpg

  2.在關係型資料庫建立如下表,欄位為:

索引 來源資料名稱 AzureBlob資料名稱 AzureBlobAccount AzureBlobContainerName AzureBlobURL
1 myphoto.png 111-222-333.jpg contoso photos https://contoso.blob.core.chinacloudapi.cn/photos/111-222-333.jpg
2 myword.docx AAA-BBB-CCC.docx contoso words https://contoso.blob.core.chinacloudapi.cn/words/AAA-BBB-CCC.docx

   通過把檔案系統中的來源資料,進行檔案名稱的重新命名,並且把重新命名後的檔案儲存到Azure Storage中,以改進Azure Blob只有一層目錄。

 

 

  二.直接修改Azure Blob Name,檔案名稱設定為包含\

  這樣我們把Blob Name修改為:1/2/3/qq.png和A/B/C/qq.png。修改為檔案系統的全路徑:

 

  如下面的串連:

  https://leizhangstorage.blob.core.chinacloudapi.cn/share/1/2/3/qq.png

      https://leizhangstorage.blob.core.chinacloudapi.cn/share/A/B/C/qq.png

     

  顯示結果如下:

               

 

  這樣就可以實現Azure Blob的多級目錄了。

 

 

 

  另外如何可以方便的把本地檔案夾的檔案儲存到Azure Storage中呢?這裡推薦2種方法:

  1.使用AzCopy

  具體可以參考我之前的部落格文章:Windows Azure Storage (21) 使用AzCopy工具,加快Azure Storage傳輸速度

  

  將本機電腦某個目錄下的所有檔案和子目錄,遞迴複製到Azure Storage中

  該命令如下:

AzCopy /Source:C:\myfolder /Dest:https://leizhangstorage.blob.core.windows.net/files /DestKey:[儲存帳號的Key] /S

  注意上面的命令列中,最後的參數是 /S

  假設C:\myfolder下有以下目錄:

  C:\myfolder\abc.txt
  C:\myfolder\abc1.txt
  C:\myfolder\abc2.txt
  C:\myfolder\subfolder\a.txt
  C:\myfolder\subfolder\abcd.txt

  則執行上述AzCopy命令後,上面所有5個檔案都會被複製到Azure Storage中。

  

  

  2.使用Blob Browser

  上面介紹的AzCopy畢竟是命令列工具,如果對命令列工具不熟悉的話,可以使用BlobBrowser

  BlobBrowser是GUI圖形介面的工具,背後其實是利用AzCopy命令列工具。

  我們安裝完BlobBrowser之後,可以在介面上進行配置。如:

  

  中,我們點擊Add,增加新的儲存帳號資訊:

  在快顯視窗中,輸入以下資訊:

  

  中,

  -  Name輸入顯示名稱

  -  Storage Account Name,輸入儲存帳號名稱

  -  Storage Account Key,輸入儲存帳號的密鑰

  注意,如果使用國內由世紀互聯營運的Azure,需要在中,勾選Use China Endpoint。

  這樣就可以使用Blob Browser的圖形介面,來管理並上傳下載Azure Storage Account了。

 

Windows Azure Storage (22) Azure Storage如何支援多級目錄

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.