教學課程:使用 REST API 將數據複製到 Azure 資料箱 Blob 記憶體
重要
Azure 資料箱現在支援 Blob 層級的存取層指派。 本教學課程中包含的步驟會反映更新的數據複製程式,而且是區塊 Blob 特有的步驟。
如需判斷區塊 Blob 數據適當存取層的說明,請參閱 判斷區塊 Blob 的適當存取層一節。 請遵循將數據複製到數據箱一節中包含的步驟,將數據複製到適當的存取層。
本節中包含的信息適用於 2024 年 4 月 1 日之後的訂單。
警告
本文參考 CentOS,這是接近結束生命週期 (EOL) 狀態的 Linux 發行版本。 請據此考量您的使用方式和規劃。 如需詳細資訊,請參閱 CentOS 生命週期結束指引。
本教學課程說明透過 HTTP 或 HTTPs 透過 REST API 連線到 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 檔案。將下列專案新增至主機檔案:
<device IP address> <Blob service endpoint>
如需參考,請使用下圖。 儲存 主機 檔案。
確認連線並設定合作夥伴軟體
設定合作夥伴軟體以連線到用戶端。 若要連線到合作夥伴軟體,您通常需要從上一個步驟中從本機 Web UI 的 連線 和複製頁面收集的下列資訊(可能有所不同):
- 儲存體帳戶名稱
- 存取金鑰
- Blob 服務端點
若要確認連線已成功建立,請使用 儲存體總管 連結至外部記憶體帳戶。 如果您沒有 儲存體總管,則需要下載並安裝。
第一次使用 儲存體總管 時,您必須執行下列步驟:
從頂端命令行,移至 [ 編輯 > 目標 Azure Stack]。
重新啟動 儲存體總管,變更才會生效。
請遵循下列步驟來連線到記憶體帳戶,並確認連線。
在 [儲存體總管] 中,開啟 [要 Azure 儲存體] 對話框的 [連線]。 在 [要 連線 Azure 儲存體] 對話框中,選取 [使用記憶體帳戶名稱和密鑰]。
貼上您的帳戶名稱和帳戶金鑰(來自 連線 的密鑰 1 值,並在本機 Web UI 中複製頁面)。 選取 [儲存體 端點網域為 [其他] (如下所示),然後提供 Blob 服務端點,如下所示。 只有在透過 HTTP 傳輸時,才勾選 [使用 HTTP] 選項。 如果使用 HTTPs,請將選項保留為未核取。 選取 [下一步]。
在 [連線 ion 摘要] 對話框中,檢閱提供的資訊。 選取 Connect。
您成功新增的帳戶會顯示在 儲存體總管 左窗格中,並附加至其名稱的 [外部]、[其他]。 按兩下 [Blob 容器 ] 以檢視容器。
透過 HTTPs 連線
透過 https 對 Azure Blob 記憶體 REST API 進行 連線 需要下列步驟:
- 從 Azure 入口網站 下載憑證。 此憑證用於連線到 Web UI 和 Azure Blob 記憶體 REST API。
- 在客戶端或遠端主機上匯入憑證。
- 將裝置 IP 和 Blob 服務端點新增至用戶端或遠端主機。
- 設定合作夥伴軟體並確認連線。
下列各節將說明這其中每個步驟。
下載憑證
使用 Azure 入口網站 下載憑證。
登入 Azure 入口網站。
移至您的數據箱訂單,並流覽至 [一般 > 裝置詳細數據]。
在 [裝置認證] 下,移至裝置的 API 存取權。 選取 [下載]。 此動作會 <下載訂單名稱>.cer 憑證檔案。 儲存 此檔案,並將其安裝在您用來連線到裝置的用戶端或主計算機上。
匯入憑證
透過 HTTPS 存取資料箱 Blob 記憶體需要裝置的 TLS/SSL 憑證。 用戶端應用程式可以使用此憑證的方式,會因應用程式與應用程式以及操作系統和散發套件而有所不同。 某些應用程式可以在匯入系統證書存儲之後存取憑證,而其他應用程式則不會使用該機制。
本節會提及某些應用程式的特定資訊。 如需其他應用程式的詳細資訊,請參閱應用程式的檔和所使用的作業系統。
請遵循下列步驟,將 .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] 選項 。
判斷區塊 Blob 的適當存取層
重要
本節中包含的信息適用於 2024 年 4 月 1 日之後的訂單。
Azure 儲存體 可讓您將區塊 Blob 資料儲存在相同記憶體帳戶內的多個存取層中。 這項功能可讓您根據數據存取的頻率,更有效率地組織及儲存數據。 下表包含 Azure 儲存體 存取層的相關信息和建議。
層 | 建議 | 最佳做法 |
---|---|---|
經常性 | 適用於經常存取或修改的在線數據。 此階層儲存成本最高,但存取成本最低。 | 此層中的數據應為一般且使用中。 |
非經常性存取 | 對於不常存取或修改的在線數據很有用。 此層的記憶體成本較低,存取成本高於經常性存取層。 | 此層中的數據至少應該儲存 30 天。 |
沒有興趣 | 適用於很少存取或修改的在線數據,但仍需要快速擷取。 此層的記憶體成本較低,存取成本高於非經常性存取層。 | 此層中的數據至少應儲存 90 天。 |
封存 | 對於很少存取且延遲需求較低的離線數據很有用。 | 此層中的數據至少應儲存 180 天。 在 180 天內從封存層移除的數據受限於提早刪除費用。 |
如需 Blob 存取層的詳細資訊,請參閱 Blob 數據的存取層。 如需更詳細的最佳做法,請參閱 使用 Blob 存取層的最佳做法。
您可以將區塊 Blob 資料複製到資料夾,以將區塊 Blob 資料傳輸到適當的存取層。 此程式會在將數據複製到 Azure 資料箱一節中更詳細地討論。
將資料複製到資料箱
聯機到一或多個數據箱共享之後,下一個步驟是複製數據。 開始資料複製之前,請考慮下列限制:
- 複製數據時,請確定數據大小符合 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 會建立它,並將檔案上傳至其中。 更新資料目錄的來源路徑,並以與資料箱相關聯的記憶體帳戶名稱取代 data-box-storage-account-name
目的地 URL 中的 。
若要以遞歸方式將指定目錄的內容上傳至 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 記憶體
- 判斷區塊 Blob 的適當存取層
- 將資料複製到資料箱
前進到下一個教學課程,瞭解如何將您的數據箱寄回 Microsoft。