Задания копирования контейнеров в Azure Cosmos DB (предварительная версия)

Область применения: Nosql Mongodb Кассандра

Вы можете выполнять автономное копирование контейнеров в учетной записи Azure Cosmos DB c помощью заданий копирования контейнеров.

Возможно, потребуется скопировать данные в учетной записи Azure Cosmos DB, если требуется выполнить любой из следующих сценариев:

Задания копирования контейнеров можно создавать и управлять с помощью команд Azure CLI.

Начать

Чтобы приступить к работе, зарегистрируйтесь для соответствующей предварительной версии функции в портал Azure.

Копирование контейнеров в учетных записях Azure Cosmos DB

API NoSQL

Чтобы приступить к работе с меж учетной записью автономной копии контейнеров для учетных записей API NoSQL Для Azure Cosmos DB, зарегистрируйте флаг предварительной версии функции меж учетной записи автономной копии контейнеров (NoSQL) в предварительной версии компонентов в портал Azure. После завершения регистрации предварительная версия будет действовать для всех учетных записей NoSQL API в подписке.

Копирование контейнеров в учетной записи Azure Cosmos DB

NoSQL и Cassandra API

Чтобы приступить к работе с автономной копией контейнера внутри учетной записи для учетных записей API NoSQL и Cassandra, зарегистрируйтесь для предварительной версии функции резервного копирования контейнеров внутри учетной записи (Cassandra и NoSQL) в предварительных версиях компонентов в портал Azure. После завершения регистрации предварительная версия действует для всех учетных записей Cassandra и API для NoSQL в подписке.

API для MongoDB

Чтобы приступить к работе с автономной копией контейнера внутри учетной записи в автономном режиме для Azure Cosmos DB для учетных записей MongoDB, зарегистрируйтесь для предварительной версии флага функции предварительной версии внутри учетной записи (MongoDB) в предварительной версии компонентов в портал Azure. После завершения регистрации предварительная версия будет действовать для всех учетных записей MongoDB в подписке.

Копирование данных контейнера

  1. Создайте целевой контейнер Azure Cosmos DB с помощью параметров, которые требуется использовать (ключ секции, степень детализации пропускной способности, единицы запросов, уникальный ключ и т. д.).
  2. Остановите операции с исходным контейнером путем приостановки экземпляров приложения или всех клиентов, которые подключаются к нему.
  3. Создайте задание копирования контейнера.
  4. Отслеживайте ход выполнения задания копирования контейнера и дождитесь его завершения.
  5. Возобновите операции, создав в приложении или клиенте соответствующее указание на исходную или целевую копию контейнера.

Как работает копирование контейнеров?

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

  1. Платформа выделяет серверные вычислительные экземпляры для целевой учетной записи Azure Cosmos DB.
  2. Эти экземпляры выделяются, когда в учетной записи создается одно или несколько заданий копирования контейнеров.
  3. Задания копирования контейнеров выполняются на этих экземплярах.
  4. Одно задание выполняется во всех экземплярах в любое время.
  5. Экземпляры совместно используются всеми заданиями копирования контейнеров, выполняющимися в одной учетной записи.
  6. Платформа может освободить экземпляры, если они бездействуют дольше 15 минут.

Примечание.

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

Факторы, влияющие на скорость задания копирования контейнера

Скорость выполнения задания копирования контейнера определяется следующими факторами:

  • Исходный контейнер или параметр пропускной способности базы данных.

  • Целевой контейнер или параметр пропускной способности базы данных.

    Совет

    Задайте для целевой пропускной способности контейнера по крайней мере два раза пропускную способность исходного контейнера.

  • Серверные вычислительные экземпляры, выделенные учетной записи Azure Cosmos DB для выполнения передачи данных.

    Важно!

    Номер SKU по умолчанию предлагает два экземпляра на стороне сервера с объемом памяти 16 ГБ и 4 виртуальными ЦП на каждую учетную запись.

Ограничения

Условия соответствия для получения предварительной версии

Задания копирования контейнеров не работают с учетными записями, имеющими следующие возможности. Отключите эти функции перед выполнением заданий копирования контейнеров:

Конфигурации учетных записей

Параметр времени жизни (TTL) не настраивается в целевом контейнере. В результате, если в исходном контейнере не истек срок действия документа, он начинает отсчет отсчета в целевом контейнере.

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

Существует ли соглашение об уровне обслуживания для заданий копирования контейнеров?

Задания копирования контейнеров в настоящее время поддерживаются на основе лучших усилий. Мы не предоставляем никаких гарантий соглашения об уровне обслуживания (SLA) на время завершения заданий.

Можно ли создать несколько заданий копирования контейнеров в учетной записи?

Да, можно создать несколько заданий в одной учетной записи. Задания выполняются последовательно. Вы можете перечислить все задания , созданные в учетной записи, и отслеживать их ход выполнения.

Можно ли скопировать всю базу данных в учетной записи Azure Cosmos DB?

Необходимо создать задание для каждого контейнера в базе данных.

У меня есть учетная запись Azure c с несколькими регионами. В каком регионе будет выполняться задание копирования контейнера?

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

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

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

Поддерживаемые регионы

Сейчас копирование контейнера поддерживается только в следующих регионах:

Северная и Южная Америки Европа и Африка Азиатско-Тихоокеанский регион
Brazil South Центральная Франция Центральная Австралия
Центральная Канада Южная Франция Центральная Австралия 2
Восточная Канада Северная Германия Восточная Австралия
Центральная часть США Центрально-Западная Германия Центральная Индия
Центральная часть США (EUAP) Северная Европа Восточная Япония
Восточная часть США Восточная Норвегия; Республика Корея, центральный регион
Восточная часть США 2 Западная Норвегия Юго-Восточная Азия
Восточная часть США 2 (EUAP) Северная Швейцария Центральная часть ОАЭ
Центрально-северная часть США Западная Швейцария Индия (запад)
Центрально-южная часть США Южная часть Соединенного Королевства Восточная Азия
центрально-западная часть США западная часть Соединенного Королевства Южная Малайзия
Западная часть США Западная Европа Западная Япония
Западная часть США 2 Израиль, центральный регион Юго-Восточная часть Австралии
Не поддерживается Северная часть ЮАР Не поддерживается

Известные и распространенные проблемы

  • Ошибка — ресурс владельца не существует.

    Если создание задания завершается ошибкой и отображает ресурс владельца ошибки не существует (код ошибки 404), целевой контейнер еще не создан или имя контейнера, используемое для создания задания, не соответствует фактическому имени контейнера.

    Убедитесь, что целевой контейнер создается перед запуском задания, указанного в обзоре, и убедитесь, что имя контейнера в задании соответствует фактическому имени контейнера.

    "code": "404",
    "message": "Response status code does not indicate success: NotFound (404); Substatus: 1003; ActivityId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx; Reason: (Message: {\"Errors\":[\"Owner resource does not exist\"]
    
  • Ошибка — запрос неавторизован.

    Если запрос завершается ошибкой и отображает ошибку Несанкционированный (код ошибки 401), локальная авторизация может быть отключена. Узнайте, как включить локальную авторизацию.

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

    "code": "401",
    "message": " Response status code does not indicate success: Unauthorized (401); Substatus: 5202; ActivityId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx; Reason: Local Authorization is disabled. Use an AAD token to authorize all requests."
    
  • Ошибка — ошибка при получении ресурсов для задания.

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

    "code": "500"
    "message": "Error while getting resources for job, StatusCode: 500, SubStatusCode: 0, OperationId:  xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, ActivityId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    

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