教學課程:使用 REST API 將資料複製到 Azure 資料箱 Blob 儲存體
警告
本文參考 CentOS,這是處於終止服務 (EOL) 狀態的 Linux 發行版。 請據此考慮您的使用方式和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指導。
本教學課程說明透過 REST API (透過 http 或 https) 連線到 Azure 資料箱 Blob 儲存體的程序。 連線之後,也會說明將資料複製到資料箱 Blob 儲存體並準備寄送資料箱所需的步驟。
在本教學課程中,您會了解如何:
- 必要條件
- 透過 http 或 https 連線到資料箱 Blob 儲存體
- 將資料複製到資料箱
必要條件
在您開始前,請確定:
- 您完成教學 課程:設定 Azure 資料箱。
- 您會收到數據箱,入口網站中的訂單狀態為 「已傳遞」。
- 您可以檢閱 數據箱 Blob 記憶體 的系統需求,並熟悉支援的 API、SDK 和工具版本。
- 您可以存取主計算機,該主計算機具有您想要複製到資料箱的數據。 主電腦必須:
- 執行支援的作業系統。
- 連線至高速網路。 強烈建議您具有至少一個 10 GbE 的連線。 如果無法使用 10 GbE 連線,您可以使用 1-GbE 資料連結,但複製速度會受到影響。
- 在您的主機電腦上下載 AzCopy V10。 AzCopy 可用來將數據從主計算機複製到 Azure 資料箱 Blob 記憶體。
透過 http 或 https 來連線
您可以透過 http 或 https 連線到資料箱 Blob 儲存體。
- https 是連線到資料箱 Blob 儲存體的安全建議方式。
- 透過受信任的網路連線時,會使用 Http。
透過 http 或 https 連線至資料箱 Blob 時,兩者的連線步驟是不同的。
透過 HTTP 連線
透過 http 連線到資料箱 Blob 儲存體 REST API 需要下列步驟:
- 將裝置 IP 和 Blob 服務端點新增到遠端主機
- 設定合作夥伴軟體並確認連線
下列各節將說明這其中每個步驟。
新增裝置 IP 位址和 Blob 服務端點
登入「資料箱」裝置。 確定裝置已解除鎖定。
移至 [設定網路介面]。 記下用來連線至用戶端之網路介面的裝置 IP 位址。
移至 [連線並複製] 並按一下 [Rest]。
從 [存取儲存體帳戶並上傳資料] 對話方塊中,複製 [Blob 服務端點]。
以系統管理員身分啟動 [記事本],然後開啟位於
C:\Windows\System32\Drivers\etc
的 hosts 檔案。將下列項目新增至 hosts 檔案:
<device IP address> <Blob service endpoint>
使用下圖以供參考。 儲存 hosts 檔案。
驗證連線並設定合作夥伴軟體
設定合作夥伴軟體以連線至用戶端。 若要連線至合作夥伴軟體,您通常需要下列資訊 (可能會有所不同),這些資訊是您從上一個步驟中本機 Web UI 的 [連線並複製] 頁面所收集的:
- 儲存體帳戶名稱
- 存取金鑰
- Blob 服務端點
若要確認是否已成功建立連線,請使用「儲存體總管」來連結至外部儲存體帳戶。 如果您沒有儲存體總管,則需要下載並安裝。
第一次使用「儲存體總管」,必須執行下列步驟:
從頂端命令列,移至 [編輯] > [目標 Azure Stack]。
重新啟動「儲存體總管」以讓變更生效。
請依照下列步驟來連線到儲存體帳戶及驗證連線。
在「儲存體總管」中,開啟 [連線至 Azure 儲存體] 對話方塊。 在 [連線至 Azure 儲存體] 對話方塊中,選取 [使用儲存體帳戶名稱和金鑰]。
貼上您的 [帳戶名稱] 和 [帳戶金鑰] (來自本機 Web UI 中 [連線並複製] 頁面的金鑰 1 值)。 選取 [其他 (在下方輸入)] 作為儲存體端點網域,然後提供 Blob 服務端點,如下所示。 請只在透過 http 傳輸的情況下,才勾選 [使用 HTTP]選項。 如果使用 https,請將此選項維持不勾選。 選取 [下一步]。
在 [連線摘要] 對話方塊中,檢閱所提供的資訊。 選取 Connect。
您成功新增的帳戶會顯示在「儲存體總管」的左側窗格中,其名稱會附加「(外部,其他)」。 請按一下 [Blob 容器] 來檢視該容器。
透過 HTTPS 連線
透過 https 連線到 Azure Blob 儲存體 REST API 需要下列步驟:
- 從 Azure 入口網站下載憑證。 此憑證可用來連線到 Web UI 和 Azure Blob 記憶體 REST API。
- 在客戶端或遠端主機上匯入憑證。
- 將裝置 IP 和 Blob 服務端點新增至用戶端或遠端主機。
- 設定合作夥伴軟體並確認連線。
下列各節將說明這其中每個步驟。
下載憑證
使用 Azure 入口網站下載憑證。
登入 Azure 入口網站。
移至您的資料箱訂單,並巡覽至 [一般] > [裝置詳細資料]。
在 [裝置認證] 下方,移至 [裝置的 API 存取]。 選取 [下載]。 此動作會下載 <您的訂單號碼>.cer 憑證檔案。 儲存 此檔案,並將其安裝在您用來連線到裝置的用戶端或主計算機上。
匯入憑證
必須有裝置的 SSL 憑證,才能透過 HTTPS 存取資料箱 Blob 儲存體。 讓用戶端應用程式可以使用此憑證的方式,會隨著應用程式和作業系統與散發套件而有所不同。 某些應用程式可以在將憑證匯入系統證書存儲之後存取憑證,而其他應用程式則不會使用該機制。
本節會說明某些應用程式的特定資訊。 如需其他應用程式的詳細資訊,請參閱應用程式的檔和所使用的作業系統。
請遵循下列步驟來將 .cer
檔案匯入到 Windows 或 Linux 用戶端的根存放區。 在 Windows 系統上,您可以使用 Windows PowerShell 或 Windows Server UI 在系統上匯入並安裝憑證。
使用 Windows PowerShell
以系統管理員的身分開啟 Windows PowerShell工作階段。
在命令提示字元中,輸入:
Import-Certificate -FilePath C:\temp\localuihttps.cer -CertStoreLocation Cert:\LocalMachine\Root
使用 Windows Server UI
以滑鼠右鍵按一下
.cer
檔案,然後選取 [安裝憑證]。 這個動作會啟動 [憑證匯入精靈]。對於 [存放位置],選取 [本機電腦],然後選取 [下一步]。
選取 [將所有憑證放入以下的存放區],然後選取 [瀏覽]。 流覽至遠端主機的根存放區,然後選取 [ 下一步]。
選取 [完成]。 會出現訊息告訴您匯入成功。
使用 Linux 系統
用來匯入憑證的方法隨散發套件而異。
Ubuntu 和 Debian 等數個散發套件使用 update-ca-certificates
命令。
- 重新命名 Base64 編碼的憑證檔案,使其具有
.crt
副檔名,然後將其複製到/usr/local/share/ca-certificates directory
。 - 執行
update-ca-certificates
命令。
RHEL、Fedora 及 CentOS 的新近版本則使用 update-ca-trust
命令。
- 將憑證檔案複製到
/etc/pki/ca-trust/source/anchors
目錄。 - 執行
update-ca-trust
。
如需詳細資訊,請參閱散發套件的專屬文件。
新增裝置 IP 位址和 Blob 服務端點
請遵循相同的步驟,以在透過 http 連線時新增裝置的 IP 位址和 Blob 服務端點。
設定合作夥伴軟體並驗證連線
請遵循相關步驟,以在透過 http 連線時設定所使用的合作夥伴軟體。 唯一的差別是您應該使 [使用 http 選項] 保持未核取狀態。
將資料複製到資料箱
連接一或多個數據箱共享之後,下一個步驟是複製數據。 在起始數據複製作業之前,請考慮下列限制:
- 複製資料時,請確定資料大小符合 Azure 儲存體和資料箱限制中所述的大小限制。
- 數據箱和另一個非數據箱應用程式同時上傳可能會導致上傳作業失敗和數據損毀。
重要
請確定您維護源數據的複本,直到您可以確認數據已複製到 Azure 儲存體。
在本教學課程中,會使用 AzCopy 來將資料複製到資料箱 Blob 儲存體。 如果您偏好 GUI 型工具,也可以使用 Azure 儲存體 Explorer 或其他合作夥伴軟體來複製數據。
複製程序的步驟如下:
- 建立容器
- 將資料夾的內容上傳到資料箱 Blob 儲存體
- 將修改過的檔案上傳到資料箱 Blob 儲存體
下列各節將詳細說明這些每一個步驟。
建立容器
第一個步驟是建立容器,因為一律會將 Blob 上傳到容器。 容器會組織 Blob 群組,就像您在電腦上的資料夾中組織檔案一樣。 請遵循下列步驟來建立 Blob 容器。
開啟儲存體總管。
在左窗格中,展開您要在其中建立 blob 容器的儲存體帳戶。
以滑鼠右鍵按一下 [Blob 容器],從捷徑功能表中,選取 [建立 Blob 容器]。
[Blob 容器] 資料夾下方會出現一個文字方塊。 輸入 blob 容器的名稱。 請參閱建立容器與設定權限,以取得為 Blob 容器命名之規則和限制的相關資訊。
完成建立 blob 容器時按下 Enter鍵,或按下 Esc 鍵取消。 成功建立之後,Blob 容器會顯示在所選記憶體帳戶的 [Blob 容器 ] 資料夾底下。
將資料夾的內容上傳至資料匣 Blob 記憶體
使用 AzCopy 將資料夾中的所有檔案上傳至 Windows 或 Linux 上的 Blob 記憶體。 若要上傳資料夾中的所有 blob,請輸入下列 AzCopy 命令:
Linux
azcopy \
--source /mnt/myfolder \
--destination https://data-box-storage-account-name.blob.device-serial-no.microsoftdatabox.com/container-name/ \
--dest-key <key> \
--recursive
Windows
AzCopy /Source:C:\myfolder /Dest:https://data-box-storage-account-name.blob.device-serial-no.microsoftdatabox.com/container-name/ /DestKey:<key> /S
使用您的帳戶金鑰來取代 <key>
。 您可以瀏覽至記憶體帳戶,以擷取 Azure 入口網站 內的帳戶金鑰。 選取 [ 設定 > 存取金鑰],選擇金鑰,然後將該值複製並貼到 AzCopy 命令中。
如果指定的目的地容器不存在,AzCopy 會建立它,並將檔案上傳至其中。 將來源路徑更新為您的資料目錄,並使用與您資料箱相關聯的儲存體帳戶名稱來取代目的地 URL 中的 data-box-storage-account-name
。
若要以遞歸方式將指定目錄的內容上傳至 Blob 記憶體,請指定 --recursive
Linux 的選項或 /S
Windows 的選項。 當您使用其中一個選項執行 AzCopy 時,所有的子資料夾和其檔案也都會上傳。
將修改過的檔案上傳到資料箱 Blob 儲存體
您也可以使用 AzCopy 根據其上次修改時間上傳檔案。 若要只上傳更新或新的檔案,請將Linux的參數或 /XO
Windows 參數的參數新增--exclude-older
至 AzCopy 命令。
如果您只想要複製目的地中不存在之本機來源內的資源,請在 AzCopy 命令中指定 和 --exclude-newer
參數,或/XO
為 Windows 指定 --exclude-older
和 /XN
參數。 AzCopy 只會上傳更新的數據,取決於其時間戳。
Linux
azcopy \
--source /mnt/myfolder \
--destination https://data-box-storage-account-name.blob.device-serial-no.microsoftdatabox.com/container-name/ \
--dest-key <key> \
--recursive \
--exclude-older
Windows
AzCopy /Source:C:\myfolder /Dest:https://data-box-storage-account-name.blob.device-serial-no.microsoftdatabox.com/container-name/ /DestKey:<key> /S /XO
如果在連線或複製作業期間發生任何錯誤,請參閱針對資料箱 Blob 儲存體問題進行疑難排解。
下一個步驟是準備您的裝置寄送。
下一步
在本教學課程中,您已了解 Azure 資料箱的相關主題,像是:
- 使用 REST API 將資料複製到 Azure 資料箱 Blob 記憶體的必要條件
- 透過 HTTP 或 HTTPs 連線到資料箱 Blob 記憶體
- 將資料複製到資料箱
請繼續進行下一個教學課程,了解如何將資料箱送回給 Microsoft。