﻿# 介紹好用工具：Azure Virtual Directory (將儲存體變成磁碟機)

管理 Windows Azure 的 **儲存體帳戶** (Storage Account) 有很多方法，[工具也非常多](https://learn.microsoft.com/en-us/azure/storage/common/storage-explorers)，今天我要來介紹一套挺方便的 [Azure Virtual Directory](https://web.archive.org/web/20171223063126/http://azuredrive.codeplex.com/) 管理工具，設定好之後，某個**儲存體帳戶**會直接**掛載**成一個**網路磁碟機**，然後就可以透過**檔案總管**管理所有的 **Blob** 檔案內容，使用上非常直覺，也非常適合用來將本機大量的檔案搬上 Azure 儲存體 (Storage)，完全不用寫程式。

**※ 安裝步驟**

1\. 開啟 https://azuredrive.codeplex.com/releases 網頁

2\. 先下載並安裝 **DokanMounter** 工具 (必要工具) ==> DokanInstall\_0.6.0.exe (prerequisite)

    ![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/b3ff7ceddef9fa43d308-image_2337.png)

3\. 若你用 **Windows 8** 電腦安裝 **DokanMounter** 工具，可能會遇到以下問題：

    ![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/4300e358e72f1c7dc564-image_2338.png)

    請別緊張，將安裝檔調整成「相容模式」即可。  
    請在檔案總管，在安裝檔上按下滑鼠右鍵，選「內容」，再切換到「相容性」即可依照下圖設定。

    ![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/787ed8f6e18ac197a40f-image_2339.png)

4\. 接著請**務必**使用 Internet Explorer 瀏覽器，點擊下載主程式 ( 如步驟 2 附圖的 **ClickOnce Installer** )  
    **註**：因 Azure Virtual Directory 採用 [ClickOnce](http://msdn.microsoft.com/zh-tw/library/142dbbz4.aspx) 佈署技術，所以每次開啟主程式都會自動更新最新版！

5\. 安裝完成後，即可隨時啟動 **Azure Drive UI** 程式

    ![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/2f0dfd1fa3a09a658ee1-image_2340.png)

**※** **使用方式**

1\. 連到 Windows Azure 管理入口: [https://portal.azure.com/](https://portal.azure.com/ "https://manage.windowsazure.com")

2\. 選取你想管理的儲存體帳戶，並點選「**管理存取金鑰**」以取得重要的連接資訊

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/87d95c50678843552b57-image_2341.png)

3\. 請先把「儲存體帳戶名稱」與「主要存取金鑰」複製下來

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/ea32f76f0c688fdf07c2-image_2342.png)

4\. 啟動 **Azure Drive UI** 程式後，會有一個小 Icon 出現在系统匣 (System Tray)，請雙擊開啟**選項**視窗

    [![image](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/1a0769d7a33560219b72-image_thumb_191.png "image")](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/9110598aab9e4f3bdc31-image_2343.png)

5\. 點選 **Add** 新增一個 **Azure 網路磁碟機** (Azure Drive)

    ![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/2de3ccc6c69967e91509-image_2344.png)

6\. 這裡有三個欄位要輸入，分別說明如下：

-   **Drive Letter**: 磁碟機代碼，只能輸入 A ~ Z，但你已經用掉的磁碟機代碼不能再用
-   **Volume Label**: 磁碟機名稱，顯示在檔案總管上的磁碟機名稱
-   **Connection String**: 連接字串，用來告知如何連接 Azure 儲存體帳戶的連接參數，格式如下：
    
    ```
    DefaultEndpointsProtocol=https;AccountName=儲存體帳戶名稱;AccountKey=主要存取金鑰
    ```
    

7\. 設定完成後，按下 **Save** 即可。新掛載的 Azure 網路磁碟機也會立即看到。  
**註**：如果看不到請**重新整理**，再看不到，請重開機試試，再不行，那就是你的 **Connection String** 寫錯!

    ![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/5f91f07ba82354c5bf70-image_2345.png)

8\. 檔案總管的樣子

  ![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/e750b64b3499cd343bcd-image_2346.png)

9\. 根目錄下會有三個資料夾，請記得：目前 **Azure Drive UI** 僅支援 **Blob** 儲存體類型的管理。

![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/a3f26b1f4be2a92620c4-image_2347.png)

10\. 接著 Blob 資料夾下，因為 Windows Azure 的 Blob 儲存體架構的關係，Blob 下的第一層目錄只能放置容器 (container)，這裡的 container 就像是個資料夾，所以你不能在這一層建立「檔案」。

11\. 所有的容器名稱 (container name) 有命名限制，所以第一層資料夾不能建立中文目錄名稱，其完整限制如下，詳見【[命名和參考容器、Blob 及中繼資料](http://msdn.microsoft.com/zh-tw/library/windowsazure/dd135715.aspx)】：

> 容器名稱必須是有效的 DNS 名稱，並且符合下列命名規則：
> 
> 1.  容器名稱必須以字母或數字開頭，而且只能包含字母、數字和虛線 (\-) 字元。
> 2.  每個虛線 (-) 字元的前後都必須是字母或數字；容器名稱中不允許連續虛線。
> 3.  容器名稱中的所有字母都必須是**小寫**。
> 4.  容器名稱的長度必須介於 3 至 63 個字元。

12\. 也由於命名限制，你無法在中文的 Windows 作業系統，透過檔案總管建立資料夾，因為透過檔案總管建立資料夾時，預設會先建立「**新增資料夾**」，這個名稱，但這是無效的 Blob 儲存體**容器名稱**。解決方法，就是改用**命令提示字元**來建立**容器名稱**，如下圖示： (**注意**: 容器名稱會自動被轉換成小寫)

    ![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/a71096cb8b6b885a5713-image_2348.png)

13\. 接著就可以把**檔案**批次複製進資料夾 ( 就是 Blob 儲存體的 container )

    ![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/34689ce09f9cdd5652ed-image_2349.png)

**注意事項**

-   **目前** [**Dokan library**](http://dokan-dev.net/en/) **( v0.6.0 ) 可支援 Windows 8 作業系統，但你必須在 [Azure Virtual Directory](https://web.archive.org/web/20171223063126/http://azuredrive.codeplex.com/) 應用程式啟動時以系統管理員身分執行，才可以正常運作！**
-   如要完整的**儲存體**管理功能，可考慮使用 [Azure Storage Explorer](https://azure.microsoft.com/en-us/products/storage/storage-explorer) 管理工具。

**相關連結**

-   [Azure Virtual Directory – CodePlex](https://web.archive.org/web/20171223063126/http://azuredrive.codeplex.com/)
-   [Dokan – user mode file system for windows](http://dokan-dev.net/en/)
-   [Windows Azure 儲存體](https://learn.microsoft.com/zh-tw/azure/storage/)
-   [How to use the Windows Azure Blob Storage Service in .NET](http://www.windowsazure.com/en-us/develop/net/how-to-guides/blob-storage/)
-   [設定 Windows Azure 連接字串](https://learn.microsoft.com/zh-tw/azure/storage/common/storage-configure-connection-string)
-   [Windows Azure Storage Explorers - Windows Azure Storage Team Blog](https://learn.microsoft.com/en-us/archive/blogs/windowsazurestorage/windows-azure-storage-explorers)
