Поделиться через


Импорт и экспорт данных в Управляемом Redis в Azure

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

  • Экспорт. Снимки в формате RDB из Redis под управлением Azure можно экспортировать в блочный BLOB-объект.
  • Импорт. Снимки в формате RDB можно импортировать в Redis под управлением Azure из страничного или блочного BLOB-объекта.

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

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

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

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

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

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

Требования

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

Импорт

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

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

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

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

  4. Выберите один или несколько больших двоичных объектов для импорта, щелкнув область слева от имени большого двоичного объекта и выбрав пункт Выбрать.

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

    Это важно

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

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

    Это важно

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

Экспорт

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

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

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

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

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

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

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

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

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

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

Функции импорта и экспорта доступны на всех уровнях Redis под управлением Azure.

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

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

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

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

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

Это важно

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

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

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

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

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

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

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

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

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

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

Можно ли автоматизировать функцию импорта/экспорта с помощью 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-объектов возникает ошибка. Что случилось?

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

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

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

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

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

Для экспорта в учетную запись хранилища Azure у токена подписанного URL-адреса (SAS) должны быть следующие разрешения:

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