Trabalhos de cópia de contêiner no Azure Cosmos DB (versão prévia)

APLICA-SE AO: NoSQL MongoDB Cassandra

É possível executar a cópia offline de contêiner em uma conta do Azure Cosmos DB usando trabalhos de cópia de contêiner.

Talvez seja necessário copiar dados em sua conta do Azure Cosmos DB, caso você queira realizar qualquer um destes cenários:

Os trabalhos de cópia de contêiner podem ser criados e gerenciados usando comandos da CLI do Azure.

Introdução

Para começar, registre-se para a versão prévia do recurso relevante no portal do Azure.

Cópia de contêiner nas contas do Azure Cosmos DB

API NoSQL

Para começar a usar a cópia de contêiner offline entre contas para contas da API do Azure Cosmos DB for NoSQL, registre-se no sinalizador de versão prévia do recurso Cópia de contêiner offline entre contas (NoSQL) em Versões Prévias do Recurso no portal do Azure. Quando o registro estiver concluído, a pré-visualização entrará em vigor em todas as contas da API para NoSQL na assinatura.

Cópia de contêiner em uma conta do Azure Cosmos DB

NoSQL e API do Cassandra

Para começar a usar a cópia de contêiner offline dentro da conta para contas de API Cassandra e NoSQL, registre-se para o sinalizador de recurso de visualização Cópia de contêiner offline dentro da conta (Cassandra e NoSQL) em Recursos de visualização no portal do Azure. Quando o registro estiver concluído, a pré-visualização entrará em vigor em todas as contas do Cassandra e da API for NoSQL na assinatura.

API para MongoDB

Para começar a usar a cópia de contêiner offline entre contas para contas do Azure Cosmos DB for MongoDB, registre-se no sinalizador de versão prévia do recurso Cópia de coleção offline entre contas (MongoDB) em Versões Prévias do Recurso no portal do Azure. Quando o registro estiver concluído, a pré-visualização entrará em vigor em todas as contas da API para MongoDB na assinatura.

Copie os dados de um contêiner

  1. Crie o contêiner de destino do Azure Cosmos DB usando as configurações que você deseja usar (chave de partição, granularidade de taxa de transferência, unidades de solicitação, chave exclusiva e assim por diante).
  2. Interrompa as operações no contêiner de origem pausando as instâncias de aplicativo ou os clientes que se conectam a elas.
  3. Criar o trabalho de cópia de contêiner.
  4. Monitorar o progresso do trabalho de cópia do contêiner e aguardar até que ele seja concluído.
  5. Retome as operações apontando adequadamente o aplicativo ou o cliente para a cópia de contêiner de origem ou de destino como pretendido.

Como funciona a cópia do contêiner?

Os trabalhos de cópia de contêiner executam a cópia de dados offline usando o log do feed de alterações incremental do contêiner de origem.

  1. A plataforma aloca instâncias de computação do lado do servidor para a conta do Azure Cosmos DB de destino.
  2. Essas instâncias são alocadas quando um ou mais trabalhos de cópia de contêiner são criados na conta.
  3. Os trabalhos de cópia de contêiner são executados nessas instâncias.
  4. Um único trabalho pode ser executado por vez em todas as instâncias.
  5. As instâncias são compartilhadas por todos os trabalhos de cópia de contêiner em execução na mesma conta.
  6. A plataforma pode desalocar as instâncias se elas ficarem inativas por mais do que 15 minutos.

Observação

Atualmente, há suporte somente para trabalhos de cópia de contêiner offline. É altamente recomendável que você pare de executar todas as operações no contêiner de origem antes de iniciar a cópia do contêiner. As exclusões e atualizações de itens feitas no contêiner de origem após o início do trabalho de cópia podem não ser capturadas. Se continuar a executar operações no contêiner de origem enquanto o trabalho dele está em andamento, você pode ter dados duplicados ou ausentes no contêiner de destino.

Fatores que afetam a taxa de um trabalho de cópia de contêiner

A taxa de progresso do trabalho de cópia de contêiner é determinada por estes fatores:

  • A configuração da taxa de transferência de contêiner ou banco de dados de origem.

  • A configuração da taxa de transferência de contêiner ou banco de dados de destino.

    Dica

    Defina a taxa de transferência do contêiner de destino como pelo menos duas vezes a taxa de transferência do contêiner de origem.

  • Instâncias de computação do lado do servidor que são alocadas para a conta do Azure Cosmos DB para realizar a transferência de dados.

    Importante

    O SKU padrão oferece duas instâncias do lado do servidor de 4 vCPU e 16 GB por conta.

Limitações

Critérios de qualificação de versão prévia

Os trabalhos de cópia de contêiner não funcionam com contas que têm os seguintes recursos habilitados. Desabilite esses recursos antes de executar trabalhos de cópia de contêiner:

Configurações de conta

A configuração de TTL (vida útil) não é ajustada no contêiner de destino. Como resultado, se um documento não tiver expirado no contêiner de origem, ele iniciará sua contagem regressiva novamente no contêiner de destino.

Perguntas Frequentes

Há um contrato de nível de serviço para trabalhos de cópia de contêiner?

Atualmente, há suporte para trabalhos de cópia de contêiner com base no melhor esforço. Não fornecemos nenhuma garantia de SLA (contrato de nível de serviço) para o tempo necessário para que os trabalhos terminem.

Posso criar vários trabalhos de cópia de contêiner em uma conta?

Sim, é possível criar vários trabalhos na mesma conta. Os trabalhos são executados consecutivamente. Você pode listar todos os trabalhos criados em uma conta e monitorar o progresso deles.

Posso copiar um banco de dados inteiro dentro da conta do Azure Cosmos DB?

Você precisa criar um trabalho para cada contêiner no banco de dados.

Tenho uma conta do Azure Cosmos DB com várias regiões. Em qual região o trabalho de cópia de contêiner será executado?

O trabalho de cópia do contêiner é executado na região de gravação. Em uma conta configurada com gravações de várias regiões, o trabalho é executado em uma das regiões na lista de regiões de gravação.

O que acontece com os trabalhos de cópia de contêiner quando a região de gravação da conta é alterada?

A região de gravação da conta pode ser alterada no cenário raro de uma interrupção de região ou devido ao failover manual. Nesse cenário, os trabalhos de cópia de contêiner incompletos criados na conta falham. É necessário recriá-los. Os trabalhos recriados são executados na nova região de gravação (atual).

Regiões com suporte

Atualmente, a cópia de contêiner é compatível com as seguintes regiões:

Américas Europa e África Pacífico Asiático
Brazil South França Central Austrália Central
Canadá Central Sul da França Austrália Central 2
Leste do Canadá Norte da Alemanha Leste da Austrália
Centro dos EUA Centro-Oeste da Alemanha Índia Central
EUA Central EUAP Norte da Europa Leste do Japão
Leste dos EUA Leste da Noruega Coreia Central
Leste dos EUA 2 Oeste da Noruega Sudeste Asiático
Leste dos EUA 2 EUAP Norte da Suíça EAU Central
Centro-Norte dos EUA Oeste da Suíça Oeste da Índia
Centro-Sul dos Estados Unidos Sul do Reino Unido Leste da Ásia
Centro-Oeste dos EUA Oeste do Reino Unido Sul da Malásia
Oeste dos EUA Europa Ocidental Oeste do Japão
Oeste dos EUA 2 Israel Central Australia Southeast
Sem suporte Norte da África do Sul Sem suporte

Problemas conhecidos e comuns

  • Erro ─ O recurso do proprietário não existe.

    Se a criação do trabalho falhar e exibir o erro O recurso proprietário não existe (código de erro 404), o contêiner de destino ainda não foi criado ou o nome do contêiner usado para criar o trabalho não corresponde a um nome de contêiner real.

    Verifique se o contêiner de destino foi criado antes de executar o trabalho conforme especificado na visão geral e verifique se o nome do contêiner no trabalho corresponde a um nome de contêiner real.

    "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\"]
    
  • Erro – a solicitação não é autorizada.

    Se a solicitação falhar e exibir o erro Não autorizado (código de erro 401), a autorização local poderá ser desabilitada. Saiba como habilitar a autorização local.

    Os trabalhos de cópia de contêiner usam chaves primárias para autenticar. Se a autorização local estiver desabilitada, a criação do trabalho falhará. A autorização local deve ser habilitada para que os trabalhos de cópia de contêiner funcionem.

    "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."
    
  • Erro – erro ao obter recursos para o trabalho.

    Esse erro pode ocorrer devido a problemas internos do servidor. Para resolver esse problema, entre em contato com o suporte da Microsoft abrindo uma Nova Solicitação de Suporte no portal do Azure. Para Tipo de problema, selecione Migração de Dados. Para Subtipo de problema, selecione Cópia de contêiner dentro da conta.

    "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
    

Próximas etapas