使用 Azure 受控 Redis 中的匯入和匯出功能作為數據管理作業。 您將資料匯入快取執行個體,或使用 Redis 資料庫 (RDB) 快照從快取執行個體匯出資料。 快照集是使用 Azure 儲存體帳戶中的 Blob 匯入或匯出的。
- 匯出:您可以將 Azure Managed Redis RDB 快照匯出至區塊 Blob。
- 匯入:您可以從分頁 Blob 或區塊 Blob 匯入 Azure Managed Redis RDB 快照。
您可以使用 [匯入/匯出] 在不同的 Azure Managed Redis 執行個體之間移轉,或者在使用前將快取填入資料。 您也可以從舊版 Azure Cache for Redis 執行個體匯出資料,以將資料移轉至 Azure Managed Redis 執行個體。
本文提供使用 Azure Managed Redis 匯入和匯出資料的指南,並提供常見問題的解答。
可用性範圍
| 層 | 記憶體最佳化、平衡、計算最佳化 | 快閃最佳化 |
|---|---|---|
| 有現貨 | 是的 | 是的 |
相容性
- 資料會匯出為 .gz 區塊 Blob。
- 執行 Redis 7.2 的執行個體支援 RDB 11 及以下版本。
- 從較新版本的 Redis (例如 Redis 7.2) 匯出的備份無法匯入至舊版的 Redis (例如 Redis 6.0)
- 來自 [進階] 分層 Azure Cache for Redis 執行個體的 RDB 檔案可以匯入至 Azure Managed Redis,反之則不然。
- 您可以將 RDB 檔案從企業或企業快閃記憶體分層 Azure Cache for Redis 執行個體匯入 Azure Managed Redis。 如果企業分層快取正在執行相同的 Redis 版本 (例如 Redis 7.2),便可將 RDB 檔案自 Azure Managed Redis 匯回這些分層
需求
- 在開始匯入作業之前,請確保將 Redis 資料庫 (RDB) 檔案上傳至 Azure 儲存體中的分頁或區塊 Blob 中,該儲存體與 Azure Managed Redis 執行個體位於相同區域和訂用帳戶中。 如果您使用受控識別進行驗證,儲存體帳戶可以位於不同的訂用帳戶中。 如需詳細資訊,請參閱 開始使用 Azure Blob 儲存體。 如果您使用 匯出 功能匯出 RDB 檔案,您的 RDB 檔案已儲存在區塊 Blob 中,並已準備好匯入。
進口
使用匯入來從任何雲端或環境中執行的 Redis 伺服器 (包含在 Linux、Windows 上執行的 Redis,或任何雲端提供者,例如 Amazon Web Services 等) 引入 Redis 相容 RDB 檔案。 匯入資料是使用預先填入資料建立快取的輕鬆方式。 在匯入過程中,Azure Managed Redis 會從 Azure 儲存體將 RDB 檔案載入記憶體,然後將金鑰插入快取中。
若要匯入一或多個匯出的快取 Blob,請瀏覽至 Azure 入口網站中的快取,然後自 [資源功能表] 選取 [匯入資料]。 在工作窗格中,您會看到 [選擇 Blob],其中可以找到 RDB 檔案。
選取 [選擇 Blob],然後選取包含所要匯入資料的儲存體帳戶。
選取包含所要匯入資料的容器。
選取 Blob 名稱左側的區域以選取一或多個要匯出的 Blob,然後按一下 [選取]。
選取 [匯入] 開始匯入程序。
這很重要
快取用戶端無法在匯入程序期間存取快取,而且在快取中的所有現有資料都會刪除。
您可以遵循 Azure 入口網站的通知,或檢視活動記錄 (部分機器翻譯) 中的事件來監視匯入作業的進度。
這很重要
Azure Managed Redis 中尚未提供活動記錄支援。
出口
匯出可讓您匯出儲存在 Azure Managed Redis 中的資料。 您可以使用這項功能,將資料從一個 Azure Managed Redis 執行個體移到另一個執行個體,或移到另一個 Redis 伺服器。 在匯出過程中,系統會在裝載 Azure Managed Redis 伺服器執行個體的 VM 上建立暫存檔。 接著,將檔案上傳至所選的儲存體帳戶。 當匯出作業完成時的狀態為成功或失敗時,都會刪除暫存檔案。
若要將快取的目前內容匯出至儲存體,請瀏覽至 Azure 入口網站中的快取,然後自 [資源功能表] 選取 [匯出資料]。 您會在工作窗格中看到 [選擇儲存體容器]。
選取 [選擇儲存體容器] 並顯示可用儲存體帳戶的清單。 選取所要的儲存體帳戶。 該儲存體帳戶必須與您的快取位於相同區域。 如果您使用受控識別進行驗證,儲存體帳戶可以位於不同的訂用帳戶中。 否則,儲存體帳戶必須與您的快取位於相同的訂用帳戶中。
選擇所要保留匯出的儲存體容器,然後選擇 [選取]。 若要使用新的容器,請先選取 [新增容器] 加以新增,然後自清單中選取容器。
輸入 [Blob 名稱前置詞],然後選取 [匯出] 開始匯出程序。 Blob 名稱前置詞可用來做為此匯出作業所產生之檔案名稱的前置詞。
您可以遵循 Azure 入口網站的通知,或檢視稽核記錄檔中的事件來監視匯出作業的進度。
在匯出程序期間快取隨時可供使用。
匯入/匯出常見問題集
本節包含匯入/匯出功能的常見問題集。
- 哪些層支援匯入/匯出?
- 我是否可以從任何 Redis 伺服器匯入資料?
- 我可以匯入哪些 RDB 版本?
- 在匯入/匯出作業期間,是否可以使用我的快取?
- 匯入/匯出和 Redis 永續性有何不同?
- 我可以使用 PowerShell、CLI 或其他管理用戶端自動化匯入/匯出嗎?
- 我在匯入/匯出作業期間收到逾時錯誤。 這代表什麼?
- 我將資料匯出至 Azure Blob 儲存體時收到錯誤。 發生什麼事?
- 是否支持啟用防火牆或私人鏈接的記憶體帳戶?
- 我是否可以在與快取不同的訂用帳戶中,從儲存體帳戶匯入或匯出資料?
- 哪些權限必須授與儲存體帳戶容器共用存取簽章 (SAS) 權杖,才能允許匯出?
哪些層支援匯入/匯出?
[匯入] 和 [匯出] 功能可在 Azure Managed Redis 的所有分層中使用。
我是否可以從任何 Redis 伺服器匯入資料?
可以,您可以從 Azure Managed Redis 執行個體或在任何雲端或環境中執行的任何 Redis 伺服器匯出資料。 環境包括 Linux、Windows 或雲端提供者 (例如 Amazon Web Services)。 若要匯入此資料,請將 RDB 檔案從想要使用的 Redis 伺服器上傳至 Azure 儲存體帳戶中的分頁或區塊 Blob。 然後,將其匯入至您的 Azure Managed Redis 執行個體。
例如,您可能想要:
從您的生產快取匯出資料。
然後,將其匯入至快取,該快取將作為預備環境進行測試或移轉的一部分。
這很重要
若要在使用分頁 Blob 時成功匯入從非 Azure Managed Redis 的 Redis 伺服器匯出的資料,分頁 Blob 大小必須對齊 512 個位元組的界限。 如需執行任何所需的位元組填補的範例程式碼,請參閱範例分頁 Blob 上傳 \(英文\)。
我可以匯入哪些 RDB 版本?
如需與匯入搭配使用的受支援 RDB 版本的詳細資訊,請參閱相容性一節。
在匯入/匯出作業期間,是否可以使用我的快取?
- 匯出 - 快取持續可供使用,而且您可以繼續在匯出作業期間使用快取。
- 匯入 - 匯入作業啟動時會無法使用快取,當匯入作業完成時,快取即可供使用。
匯入/匯出和 Redis 永續性有何不同?
Azure Managed Redis「持續性」功能主要是資料持久性功能。 相反地,「匯入/匯出」功能是設計為一種定期建立資料備份以進行時間點復原的方法。
設定「持續性」時,您的快取會根據可設定的備份頻率,將資料的快照集保存至磁碟。 使用者無法存取此持續性檔案。 如果發生同時停用主要和複本快取的災難性事件,則會使用最新的快照集自動還原快取資料。
資料持續性是專為災害復原而設計。 其並非旨在作為時間點復原機制。
如果您想要定期建立資料備份以進行時間點復原,我們建議您使用「匯入/匯出」功能。 如需詳細資訊,請參閱如何設定 Azure Managed Redis 的資料持續性 (部分機器翻譯)。
我可以使用 PowerShell、CLI 或其他管理用戶端自動化匯入/匯出嗎?
可以,請參閱下列指示:
- 如何匯入 Redis 資料 (部分機器翻譯) 和匯出 Redis 資料 (部分機器翻譯) 的 PowerShell 指示。
- 如何匯入 Redis 資料 (部分機器翻譯) 和匯出 Redis 資料 (部分機器翻譯) 的 Azure CLI 指示
我在匯入/匯出作業期間收到逾時錯誤。 這代表什麼?
如果您在開始作業之前停留在 [匯入資料] 或 [匯出資料] 超過 15 分鐘,您會收到類似下列範例錯誤訊息的錯誤:
The request to import data into cache 'contoso55' failed with status 'error' and error 'One of the SAS URIs provided could not be used for the following reason: The SAS token end time (se) must be at least 1 hour from now and the start time (st), if given, must be at least 15 minutes in the past.
若要解決此錯誤,請在經過 15 分鐘之前開始匯入或匯出作業。
我將資料匯出至 Azure Blob 儲存體時收到錯誤。 發生什麼事?
匯出只能使用儲存為區塊 blob 的 RDB 檔案。 目前不支援其他 Blob 類型。 如需詳細資訊,請參閱 Azure 儲存體帳戶概觀。 如果您使用存取金鑰來驗證儲存體帳戶,儲存體帳戶上的防火牆例外狀況通常會造成匯入/匯出程式失敗。
是否支持啟用防火牆或私人鏈接的記憶體帳戶?
否,不支持記憶體帳戶上的這些設定。
是否可以在與我快取不同的訂用帳戶中,從儲存體帳戶匯入或匯出資料?
您可以從與快取不同的訂用帳戶中的記憶體帳戶匯入和匯出數據,但您必須使用受控識別作為驗證方法。 設定匯入或匯出時,您必須選取保存記憶體帳戶的所選訂用帳戶。
哪些權限必須授與儲存體帳戶容器共用存取簽章 (SAS) 權杖,才能允許匯出?
若要順利匯出到 Azure 儲存帳號, 共享存取簽章(SAS)令牌 必須具備以下權限:
readaddcreatewritedeletetagmove
需要授予儲存帳號容器共享存取簽章(SAS)憑證哪些權限,才能允許匯入?
為成功匯入操作,儲存容器的共享存取簽章(SAS)令牌具備以下權限:
readaddcreatelist