Импорт и экспорт данных в Azure Managed Redis

Используйте функции импорта и экспорта в Azure Managed Redis для операций управления данными. Данные импортируются в экземпляр кэша или экспортируются из экземпляра кэша с помощью моментального снимка базы данных Redis (RDB). Моментальные снимки импортируются или экспортируются с помощью BLOB-объекта в учетной записи хранилища Azure.

  • Export — вы можете экспортировать свои моментальные снимки RDB Управляемого Redis в Azure в блочный BLOB.
  • Import — вы можете импортировать моментальные снимки RDB для управляемого Azure Redis из страничного Blob или блочного Blob.

Вы можете использовать импорт и экспорт для миграции между различными экземплярами Redis Azure или заполнением кэша данными перед использованием. Вы также можете экспортировать данные из старого экземпляра Кэш Azure для Redis для переноса данных в экземпляр Azure Managed Redis.

В этой статье приведено руководство по импорту и экспорту данных с помощью Azure Managed Redis и ответы на часто задаваемые вопросы.

Область доступности

Уровень Оптимизированный для памяти, сбалансированный, оптимизированный для вычислений Оптимизированный для флеш-технологий
В наличии Да Да

Совместимость

  • Данные экспортируются в блочном BLOB-объекте в формате .gz.
  • Экземпляры под управлением Redis 7.4 поддерживают RDB версии 11 или более ранние.
  • Экспортированные резервные копии из более новых версий Redis (например, Redis 7.4) нельзя импортировать в более старые версии Redis (например, Redis 6.0)
  • Файлы RDB из Premium уровня Кэш Azure для Redis можно импортировать в Azure Managed Redis, но не наоборот.
  • Файлы RDB из Enterprise или Enterprise Flash уровня Кэш Azure для Redis можно импортировать в управляемый Redis Azure. Файлы RDB из Azure Managed Redis можно импортировать обратно в эти уровни, если кэш уровня Enterprise работает с той же версией Redis (например, Redis 7.4)
  • Отдельные ключи размером более 2 ГБ приведут к сбою импорта. Рекомендуется избегать чрезмерно больших ключей и вместо этого разделить данные между несколькими небольшими ключами.

Требования

  • Перед началом операции импорта убедитесь, что файл или файлы базы данных Redis (RDB) загружены в Page Blob или Block Blob в хранилище Azure. Если вы экспортировали файл RDB с помощью функции экспорта, ваш файл RDB уже хранится в блочном BLOB-объекте и готов к импорту.

Импорт

Импорт можно использовать для переноса RDB-файлов, совместимых с Redis, с сервера Redis, запущенного в любом облаке, любой среде, включая Redis в Linux, Windows, или на любом поставщике облачных служб, например Amazon Web Services и пр. Импорт данных позволяет легко создать кэш, предварительно заполненный данными. Во время импорта Azure Managed Redis загружает файлы RDB из Azure storage в память, а затем вставляет ключи в кэш.

  1. Чтобы импортировать один или несколько экспортированных BLOB-объектов кэша, перейдите к вашему кэшу в портале Azure и выберите «Import data» в меню «ресурса». В рабочей области вы увидите раздел Выбрать BLOB-объекты, где можно найти RDB-файлы.

  2. Выберите Выбрать BLOB-объекты и выберите учетную запись хранилища, содержащую данные для импорта.

  3. Щелкните контейнер, содержащий данные для импорта.

  4. Выберите один или несколько блобов для импорта, нажав на область слева от имени блоба, а затем Выбрать.

  5. Щелкните Импорт, чтобы начать процесс импорта.

    Это важно

    Во время процедуры импорта кэш недоступен для клиентов кэша, а все существующие в нем данные удаляются.

    Вы можете отслеживать ход выполнения операции импорта, следуя уведомлениям из Azure portal или просмотрев события в журнале activity log.

    Это важно

    Поддержка журнала действий пока недоступна в Azure Managed Redis.

Экспорт

Экспорт позволяет экспортировать данные, хранящиеся в Azure Managed Redis. Эту функцию можно использовать для перемещения данных из одного управляемого экземпляра Redis в Azure на другой или на другой сервер Redis. Во время процесса экспорта на виртуальной машине создается временный файл, на котором размещается экземпляр сервера Azure Managed Redis. Затем файл передается в выбранный аккаунт хранилища. После успешного или неудачного завершения операции экспорта этот временный файл удаляется.

  1. Чтобы экспортировать текущее содержимое кэша в хранилище, перейдите к вашему кэшу в портале Azure и выберите Экспорт данных в меню Ресурса. В рабочей области отображается Choose Storage container.

  2. Выберите "Выбрать контейнер хранилища ", чтобы отобразить список доступных учетных записей хранения. Выберите учетную запись хранилища, которую хотите.

  3. Выберите контейнер для хранения, который вы хотите использовать для экспорта, а затем выберите. Если необходим новый контейнер, выберите Добавить контейнер, чтобы сначала добавить его, а затем выберите его из списка.

  4. Введите значение Префикс имени BLOB-объекта и нажмите кнопку Экспорт, чтобы запустить процедуру экспорта. Префикс имени BLOB-объекта добавляется к именам файлов, создаваемых этой операцией экспорта.

    Вы можете отслеживать ход выполнения операции экспорта, следуя уведомлениям из Azure portal или просмотрев события в журнале audit.

    Во время экспорта кэши остаются доступными для использования.

Часто задаваемые вопросы о функции импорта/экспорта

Этот раздел содержит часто задаваемые вопросы о функции импорта/экспорта.

Какие уровни поддерживают импорт и экспорт?

Функции import и export доступны во всех уровнях Azure Managed Redis.

Можно ли импортировать данные с любого сервера Redis?

Да, вы можете импортировать данные, экспортированные из экземпляров Azure Managed Redis или любого сервера Redis, работающего в любом облаке или среде. Это может быть среда Linux, Windows или среда поставщика облачных служб, например Amazon Web Services. Чтобы импортировать эти данные, загрузите файл RDB с сервера Redis, который вы хотите, в страницу или блоб-объект в учетной записи служба хранилища Azure. Затем импортируйте его в экземпляр Redis с управлением Azure.

Например, вы можете захотеть:

  1. Экспортируйте данные из производственного кэша.

  2. Затем импортируйте их в кэш промежуточной среды для тестирования или переноса.

Это важно

Чтобы успешно импортировать данные, экспортированные с серверов Redis, отличных от Azure Managed Redis, при использовании страничного блоба, размер страничного блоба должен быть выровнен по границам, кратным 512 байтам. Пример кода для выполнения требуемого байтового заполнения см. в разделе Sample page blob upload.

Какие версии RDB-файлов можно импортировать?

Подробнее о поддерживаемых версиях RDB, которые используются при импорте, см. в разделе с информацией по совместимости.

Доступен ли кэш во время операции импорта или экспорта?

  • Экспорт — кэши остаются доступными, и во время операции экспорта можно продолжить работу с кэшем.
  • Импорт — кэши становятся недоступными при запуске операции импорта, а по ее завершении вновь становятся доступными для использования.

Чем отличается функция импорта/экспорта от сохраняемости Redis?

Функция Azure Managed Redis persistence в основном является функцией устойчивости данных. И наоборот, функция импорта и экспорта создана для того, чтобы периодически выполнять резервное копирование для последующего восстановления системы до состояния, в котором она находилась в соответствующий момент.

Если настроена функция постоянного хранения, то в вашем кэше постоянно хранится снимок данных на диске — с учетом настроенной периодичности резервного копирования. Пользователю этот файл недоступен. В случае аварии, при которой становятся недоступными как основной экземпляр кэша, так и реплики кэша, данные кэша восстанавливаются автоматически из последнего моментального снимка.

Постоянное хранение данных введено в целях аварийного восстановления. Это не механизм восстановления системы до состояния, в котором она находилась в определенный момент.

Если вы хотите периодически выполнять резервное копирование данных для восстановления системы до состояния, в котором она находилась на определенный момент, рекомендуем вам воспользоваться функцией импорта и экспорта . Дополнительные сведения см. в разделе Как настроить сохраняемость данных для Azure Managed Redis.

Можно ли автоматизировать функцию импорта/экспорта с помощью PowerShell, интерфейса командной строки или других клиентов управления?

Да, см. следующие инструкции:

Во время операции импорта/экспорта произошла ошибка таймаута. Что это означает?

Если перед запуском операции вы находитесь в колонке Импорт данных или Экспорт данных дольше 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 минут.

При экспорте данных в Хранилище BLOB-объектов Azure возникла ошибка. Что случилось?

Функция экспорта работает только с RDB-файлами, сохраненными в виде блочных BLOB-объектов. Другие типы BLOB в настоящее время не поддерживаются. Для получения дополнительной информации см. обзор учетной записи Azure Storage. Если вы используете ключ доступа для аутентификации учетной записи хранилища, наличие исключений брандмауэра в учетной записи хранилища, как правило, приводит к сбою процесса импорта и экспорта.

Нет, эти параметры для учетных записей storage не поддерживаются.

Можно ли импортировать или экспортировать данные из учетной записи storage в другой подписке, отличной от кэша?

Вы можете импортировать и экспортировать данные из учетной записи хранения, которая находится в другой подписке, чем ваш кэш. При настройке импорта или экспорта необходимо выбрать подписку, содержащую учетную запись хранилища.

Какие разрешения необходимо предоставить маркеру совместного доступа (SAS) контейнера учетной записи хранилища для разрешения экспорта?

Чтобы экспорт в учетную запись хранения Azure прошел успешно, токен с подписью общего доступа (SAS) должен иметь следующие разрешения.

  • read
  • add
  • create
  • write
  • delete
  • tag
  • move

Какие разрешения необходимо предоставить токену общего доступа (SAS) контейнера хранилища учетной записи, чтобы разрешить импорт?

Для успешных операций импорта общий маркер доступа (токен SAS) для контейнера хранения имеет следующие разрешения:

  • read
  • add
  • create
  • list