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


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

Функционал импорта и экспорта Azure Cache for Redis предназначен для импорта и экспорта данных в экземпляры кэша Azure Redis как снимки базы данных Redis (RDB). Моментальные снимки импортируются или экспортируются с помощью объекта blob в учетной записи Azure Storage.

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

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

Уровень "Базовый", "Стандартный" Премия Энтерпрайз, Энтерпрайз Флэш
На месте нет Да Да

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

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

Импорт

  • Моментальные снимки RDB можно импортировать из страничных blob-объектов или блочных BLOB-объектов.
  • Файлы RDB можно импортировать из кэшей уровня "Премиум" в кэши уровня Enterprise и Enterprise Flash.
  • Вы не можете импортировать кэши уровня Redis Enterprise и Enterprise Flash в кэши уровня Premium.

Экспорт

  • Моментальные снимки можно экспортировать в виде страничных BLOB-объектов RDB на уровне "Премиум" или в виде .gz блочных BLOB-объектов на уровнях корпоративного сегмента.
  • Учетные записи хранилища объектов BLOB не поддерживают экспорт.

Версии

  • Кэши Redis 4.0 поддерживают RDB версии 8 и ниже. Кэши Redis 6.0 поддерживают RDB версии 9 и ниже.
  • Вы не можете импортировать экспортированные резервные копии из более новых версий Redis, таких как Redis 6.0, в старые версии, такие как Redis 4.0.

Предпосылки

  • Кэш уровня Premium, Enterprise или Enterprise Flash в кэше Azure для Redis.
  • Для импорта файлов требуются RDB-файл или файлы, загруженные в блобы страницы или блока в Azure Storage, в том же регионе и подписке, что и ваш кэш Azure Redis.

    Примечание.

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

Импорт

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

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

Внимание

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

Внимание

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

Примечание.

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

  1. Чтобы импортировать один или несколько объектов BLOB кэша, на странице кэша Redis на портале Azure выберите «Импорт данных» в разделе «Администрирование» в меню навигации слева.

  2. На странице "Импорт данных" выберите метод аутентификации, а затем выберите "Выбрать объекты BLOB".

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

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

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

  4. На странице "Контейнеры" выберите контейнер в учетной записи хранения, содержащей данные для импорта.

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

  5. На странице контейнера установите флажки рядом с одним или несколькими объектами BLOB для импорта, а затем нажмите Выбрать.

    Снимок экрана, на котором показано, как выбрать объекты BLOB из контейнера.

  6. На странице "Импорт данных" выберите "Импорт ", чтобы начать процесс импорта.

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

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

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

Экспорт (Export)

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

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

Внимание

  • Azure Redis не поддерживает экспорт в учетные записи хранения Azure Data Lake Storage 2-го поколения.
  • Учетные записи хранения BLOB-объектов не поддерживают экспорт Redis в Azure.
  • Версии Enterprise и Enterprise Flash не поддерживают импорт и экспорт в учетные записи хранения, которые используют брандмауэры или частные конечные точки. Учетная запись хранения должна иметь доступ к общедоступной сети.

Если экспорт в учетную запись хранения с поддержкой брандмауэра завершается сбоем, см. статью "Что, если брандмауэр включен в учетной записи хранения? Дополнительные сведения см. в обзоре учетной записи хранения Azure.

  1. Чтобы экспортировать текущее содержимое кэша в хранилище, на странице кэша Redis в портале Azure выберите Экспорт данных в разделе Администрирование в навигационном меню слева.

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

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

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

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

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

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

  5. На странице "Контейнеры" выберите контейнер, который вы хотите использовать для экспорта, и нажмите кнопку "Выбрать".

    Снимок экрана: выбранный контейнер хранилища и кнопка

  6. На странице "Экспорт данных " выберите "Экспорт".

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

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

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

Вопросы и ответы по импорту

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

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

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

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

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

Чтобы импортировать эти данные, загрузите RDB-файл с сервера Redis в страничный или блочный blob в учетной записи хранилища Azure. Затем импортируйте его в экземпляр кэша Redis в Azure.

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

Внимание

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

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

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

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

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

Можно ли использовать импорт-экспорт с кластеризированием Redis?

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

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

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

При импорте в ценовую категорию с более низким databases пределом, чем экспортируемый уровень:

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

Как экспорт импорта отличается от сохраняемости данных Redis?

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

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

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

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

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

Можно ли автоматизировать экспорт импорта с помощью Azure PowerShell или Azure CLI?

Да. Для уровня "Премиум" см. следующее содержимое:

Для уровней Enterprise и Enterprise Flash см. следующее содержимое:

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

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

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

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

Для экземпляра уровня "Премиум" необходимо выбрать разрешить службам Azure в списке доверенных служб доступ к этой учетной записи хранения в параметрах учетной записи хранения. Затем используйте управляемое удостоверение, назначаемое системой или пользователем, и предоставьте роль участника данных хранилища Blob с управление доступом на основе ролей (RBAC) для этого идентификатора объекта. Дополнительные сведения см. в разделе Управляемые учетные данные для учетных записей хранения.

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

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

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

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

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

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