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

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

импорт и экспорт поддерживается на уровнях Premium, Enterprise и Enterprise Flash:

  • Экспорт — вы можете экспортировать моментальные снимки RDB Кэш Azure для Redis на страницу (уровень "Премиум") или блокировать большой двоичный объект (корпоративные уровни).
  • Импорт. Моментальные снимки в формате RDB можно импортировать в кэш Azure для Redis из страничного или блочного BLOB-объекта.

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

Эта статья содержит руководство по импорту и экспорту данных в кэше Azure для Redis, а также ответы на часто задаваемые вопросы.

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

Уровень "Базовый", "Стандартный" Premium Enterprise, Enterprise Flash
На месте No Да Да

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

  • Данные экспортируются в виде большого двоичного объекта страницы RDB на уровне "Премиум ". На уровнях Enterprise и Enterprise Flash данные экспортируются в виде .gz блочного BLOB-объекта.
  • Кэши под управлением Redis 4.0 поддерживают RDB версии 8 и ниже. Кэши под управлением Redis 6.0 поддерживают RDB версии 9 и ниже.
  • Экспортированные резервные копии из более новых версий Redis (например, Redis 6.0) нельзя импортировать в более старые версии Redis (например, Redis 4.0)
  • Файлы RDB из кэшей уровня "Премиум" можно импортировать в кэши уровня Enterprise и Enterprise Flash .

Import

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

Примечание.

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

Внимание

В настоящее время импорт из уровня Redis Enterprise в уровень Premium не поддерживается.

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

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

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

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

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

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

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

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

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

    Внимание

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

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

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

    Внимание

    Поддержка журнала действий пока недоступна на уровнях Enterprise.

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

Экспорт (Export)

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

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

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

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

    Внимание

    • Функция экспорта работает со страничными BLOB-объектами, которые поддерживаются как классическими учетными записями хранения, так и учетными записями хранения Resource Manager.
    • Кэш Azure для Redis не поддерживает экспорт в учетные записи хранения ADLS 2-го поколения.
    • В настоящее время экспорт не поддерживается учетными записями хранилища BLOB-объектов.
    • Если экспорт данных кэша в учетные записи хранения с поддержкой брандмауэра завершается сбоем, обратитесь к разделу "Что, если в учетной записи хранения включен брандмауэр?

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

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

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

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

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

    Снимок экрана: префикс имени BLOB-объекта и кнопка

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

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

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

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

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

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

Функции импорта и экспорта доступны только на уровнях Premium, Enterprise и Enterprise Flash.

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

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

Например, может понадобиться:

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

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

Внимание

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

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

Дополнительные сведения о поддерживаемых версиях RDB, используемых при импорте, см. в разделе совместимости.

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

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

Можно использовать функцию импорта/экспорта с кластером Redis?

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

Как работает импорт и экспорт в базах данных с пользовательскими настройками?

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

  • При импорте в ценовую категорию с меньшим databases ограничением, чем уровень, из которого вы экспортировали:
    • Если вы используете заданное по умолчанию количество databases (16 для всех ценовых категорий), то данные не теряются.
    • Если вы используете настраиваемое количество databases, находящееся в пределах ограничений категории, в которую выполняется импорт, данные не теряются.
    • Если экспортируемые данные включают в себя данные из баз данных, которые являются превышением ограничения для новой категории, данные из таких баз данных не импортируются.

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

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

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

Сохраняемость данных предназначена для аварийного восстановления. Он не предназначен в качестве механизма восстановления на определенный момент времени.

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

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

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

Да, см. следующие инструкции для уровня "Премиум".

Для уровней Enterprise и Enterprise Flash :

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

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

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

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

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

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

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

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

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

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

Узнайте больше о функциях Кэша Azure для Redis.