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:
- Copiar todos os itens de um contêiner para outro.
- Alterar a granularidade na qual a taxa de transferência é provisionada: do banco de dados até o contêiner e vice-versa.
- Alterar a chave de partição de um contêiner.
- Atualizar as chaves exclusivas de um contêiner.
- Renomear um contêiner ou banco de dados.
- Altere o modo de capacidade de uma conta de sem servidor para provisionada ou vice-versa.
- Adote novos recursos com suporte apenas para novos contêineres, por exemplo , Chaves de partição hierárquicas.
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
- 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).
- Interrompa as operações no contêiner de origem pausando as instâncias de aplicativo ou os clientes que se conectam a elas.
- Criar o trabalho de cópia de contêiner.
- Monitorar o progresso do trabalho de cópia do contêiner e aguardar até que ele seja concluído.
- 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.
- A plataforma aloca instâncias de computação do lado do servidor para a conta do Azure Cosmos DB de destino.
- Essas instâncias são alocadas quando um ou mais trabalhos de cópia de contêiner são criados na conta.
- Os trabalhos de cópia de contêiner são executados nessas instâncias.
- Um único trabalho pode ser executado por vez em todas as instâncias.
- As instâncias são compartilhadas por todos os trabalhos de cópia de contêiner em execução na mesma conta.
- 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.
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
- Aprenda como criar, monitorar e gerenciar trabalhos de cópia de contêiner em uma conta do Azure Cosmos DB usando comandos da CLI.