教學課程:透過 REST API 將資料複製到 Azure 資料箱 Blob 儲存體
警告
本文參考 CentOS,這是處於終止服務 (EOL) 狀態的 Linux 發行版。 請據此考慮您的使用方式和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指導。
本教學課程說明透過 REST API (透過 http 或 https) 連線到 Azure 資料箱 Blob 儲存體的程序。 連線之後,會說明將資料複製到資料箱 Blob 儲存體所需的步驟。
在本教學課程中,您會了解如何:
- 必要條件
- 透過 http 或 https 連線到資料箱 Blob 儲存體
- 將資料複製到 Data Box Heavy
必要條件
在您開始前,請確定:
- 您已完成教學課程:設定 Azure Data Box Heavy。
- 您已收到 Data Box Heavy,且入口網站中的訂購狀態為 [已交付]。
- 您已檢閱過資料箱 Blob 儲存體的系統需求,並熟悉 API、SDK 和工具的支援版本。
- 您有權存取包含要複製到 Data Box Heavy 之資料的主機電腦。 您的主機電腦必須符合下列條件:
- 執行支援的作業系統。
- 連線至高速網路。 如需最快的複製速度,可平行使用兩個 40 GbE 的連線 (每個節點一個連線)。 如果您沒有 40 GbE 連線可用,我們建議您至少有兩個 10 GbE 的連線 (每個節點一個連線)。
- 在您的主機電腦上下載 AzCopy 7.1.0。 您將會使用 AzCopy,將資料從主機電腦複製到 Azure 資料箱 Blob 儲存體。
透過 http 或 https 來連線
您可以透過 http 或 https 連線到資料箱 Blob 儲存體。
- https 是連線到資料箱 Blob 儲存體的安全建議方式。
- 透過受信任的網路連線時,會使用 Http。
透過 http 或 https 連線至資料箱 Blob 時,兩者的連線步驟是不同的。
透過 HTTP 連線
透過 http 連線到資料箱 Blob 儲存體 REST API 需要下列步驟:
- 將裝置 IP 和 Blob 服務端點新增到遠端主機
- 設定協力廠商軟體並驗證連線
下列各節將說明這其中每個步驟。
重要
對於 Data Box Heavy,您必須重複所有連線指示,才能連線到第二個節點。
新增裝置 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 入口網站下載憑證
- 匯入用戶端或遠端主機上的憑證
- 將裝置 IP 和 Blob 服務端點新增到用戶端或遠端主機
- 設定協力廠商軟體並驗證連線
下列各節將說明這其中每個步驟。
重要
對於 Data Box Heavy,您必須重複所有連線指示,才能連線到第二個節點。
下載憑證
使用 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 系統
用來匯入憑證的方法隨散發套件而異。
重要
對於 Data Box Heavy,您必須重複所有連線指示,才能連線到第二個節點。
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 選項] 保持未核取狀態。
將資料複製到 Data Box Heavy
連線到資料箱 Blob 儲存體之後,下一個步驟是複製資料。 複製資料之前,請檢閱下列注意事項:
- 複製資料時,請確定資料大小符合 Azure 儲存體和 Data Box Heavy 限制 中所述的大小限制。
- 如果資料 (由 Data Box Heavy 上傳) 同時由 Data Box Heavy 以外的其他應用程式上傳,這可能導致上傳作業失敗和資料損毀。
在本教學課程中,會使用 AzCopy 來將資料複製到資料箱 Blob 儲存體。 您也可以使用 Azure 儲存體總管 (如果您偏好 GUI 型工具) 或合作夥伴軟體來複製資料。
複製程序的步驟如下:
- 建立容器
- 將資料夾的內容上傳到資料箱 Blob 儲存體
- 將修改過的檔案上傳到資料箱 Blob 儲存體
下列各節將詳細說明這些每一個步驟。
重要
對於 Data Box Heavy,您必須重複所有複製指示,才能將資料複製到第二個節點。
建立容器
第一個步驟是建立容器,因為一律會將 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/files/ \
--dest-key <key> \
--recursive
Windows
AzCopy /Source:C:\myfolder /Dest:https://data-box-storage-account-name.blob.device-serial-no.microsoftdatabox.com/container-name/files/ /DestKey:<key> /S
使用您的帳戶金鑰來取代 <key>
。 若要取得帳戶金鑰,在 Azure 入口網站中,移至您的儲存體帳戶。 移至 [設定] > [存取金鑰]、選取金鑰,並將它貼到 AzCopy 命令中。
如果指定的目的地容器不存在,則 AzCopy 會建立此容器並將檔案上傳至該容器中。 將來源路徑更新為您的資料目錄,並使用與您資料箱相關聯的儲存體帳戶名稱來取代目的地 URL 中的 data-box-storage-account-name
。
若要以遞迴方式將指定目錄的內容上傳到 Blob 儲存體,請指定 --recursive
(Linux) 或 /S
(Windows) 選項。 當您使用其中一個選項執行 AzCopy 時,所有的子資料夾和其檔案也都會上傳。
將修改過的檔案上傳到資料箱 Blob 儲存體
使用 AzCopy,根據檔案的上次修改時間來上傳檔案。 若要這麼做,請基於測試目的,在您的來源目錄中修改或建立新的檔案。 若只要上傳已更新或新的檔案,請將 --exclude-older
(Linux) 或 /XO
(Windows) 參數新增至 AzCopy 命令。
如果您只想複製目的地中不存在的來源資源,請在 AzCopy 命令中同時指定 --exclude-older
和 --exclude-newer
(Linux) 或 /XO
和 /XN
(Windows) 參數。 AzCopy 只會上傳已更新的資料 (根據其時間戳記)。
Linux
azcopy \
--source /mnt/myfolder \
--destination https://data-box-heavy-storage-account-name.blob.device-serial-no.microsoftdatabox.com/container-name/files/ \
--dest-key <key> \
--recursive \
--exclude-older
Windows
AzCopy /Source:C:\myfolder /Dest:https://data-box-heavy-storage-account-name.blob.device-serial-no.microsoftdatabox.com/container-name/files/ /DestKey:<key> /S /XO
如果在連線或複製作業期間發生任何錯誤,請參閱針對資料箱 Blob 儲存體問題進行疑難排解。
下一個步驟是準備寄送裝置。
下一步
在本教學課程中,您已了解 Azure 資料箱的相關主題,像是:
- 必要條件
- 透過 http 或 https 連線到資料箱 Blob 儲存體
- 將資料複製到 Data Box Heavy
請繼續進行下一個教學課程,了解如何將資料箱送回給 Microsoft。