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

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

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

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

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

Сведения о том, какие уровни Кэш Azure для Redis поддерживают импорт и экспорт, см. в разделе Сравнение функций.

Импорт

Импорт можно использовать для переноса 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-объекте и готов к импорту.

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

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

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

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

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

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

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

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

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

    Важно!

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

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

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

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

Экспорт

Экспорт позволяет экспортировать данные, хранящиеся в кэше 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 или просматривая события в журнале аудита.

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

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

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

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

В каких ценовых категориях можно функцию импорта/экспорта?

Функция импорта/экспорта доступна только в ценовой категории "Премиум".

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

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

Важно!

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

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

Кэш Azure для Redis поддерживает импорт RDB-файлов вплоть до RDB версии 7.

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

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

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

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

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

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

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

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

Сохраняемость кэша Azure для Redis обеспечивает целостность данных в кэше Redis посредством службы хранилища Azure. Если настроена сохраняемость, Кэш Azure для Redis сохраняет моментальный снимок данных кэша на диске в двоичном формате Redis в соответствии с настроенной частотой резервного копирования. В случае аварии, при которой становятся недоступными как основной экземпляр кэша, так и реплика кэша, данные кэша восстанавливаются автоматически из последнего моментального снимка. Дополнительные сведения см. в статье How to configure data persistence for a Premium Azure Cache for Redis (Настройка сохраняемости для кэша Azure для Redis уровня "Премиум").

Функция импорта и экспорта позволяет перенести данные в кэш Azure для Redis или экспортировать их оттуда. Она не осуществляет настройку резервного копирования и использует для восстановления механизм сохраняемости Redis.

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

Да, инструкции для PowerShell см. в разделах Импорт кэша Azure для Redis и Экспорт кэша Azure для Redis.

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

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