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


Импорт и экспорт данных в 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).

Import

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

Примечание.

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

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

    Снимок экрана: импорт данных, выбранных в меню

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

    Снимок экрана: список учетных записей хранения.

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

    Снимок экрана: список контейнеров из ранее выбранной учетной записи хранения.

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

    Снимок экрана: BLOB-объект из контейнера.

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

    Внимание

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

    Снимок экрана: кнопка

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

    Внимание

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

    Снимок экрана: процесс импорта в области уведомлений.

Экспорт (Export)

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

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

    Снимок экрана: экспорт данных, выбранных в меню

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

    Внимание

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

    Дополнительные сведения см. в статье Общие сведения об учетной записи хранения Azure.

    Снимок экрана: список контейнеров в рабочей области.

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

    Снимок экрана: список контейнеров с одним выделенным контейнером и кнопка выбора.

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

Что делать, если в учетной записи хранилища включен брандмауэр?

В параметрах учетной записи хранения необходимо проверить "Разрешить службам Azure в списке доверенных служб доступ к этой учетной записи хранения". Затем воспользуйтесь управляемым удостоверением (которое назначает система или пользователь) и назначьте этому ИД объекта роль участника RBAC хранилища BLOB-объектов.

Дополнительные сведения см. в статье Управляемое удостоверение для учетных записей хранилища — Кэш Azure для Redis.

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

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

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

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

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

Следующие шаги