Configurar e Ativar Atlas Device Sync
Nesta página
Visão geral
Você pode configurar e habilitar o Atlas Device Sync por meio da IU do App Services, do App Services CLI ou da Atlas App Services Admin API. Pode atualizar uma configuração existente da mesma maneira. Se for a primeira vez que habilitar o Device Sync, a interface do usuário será uma ótima opção porque orienta nas etapas necessárias.
Você pode querer ajustar as configurações do Atlas Device Sync após já ter habilitado o Device Sync. Você pode atualizar uma configuração seguindo os mesmos passos usados para habilitar o Device Sync inicialmente. Se você estiver usando o modo Flexible Sync, poderá atualizar as configurações sem a necessidade de encerrar e reiniciar o Sync.
Se você estiver reativando o Device Sync depois de pausá-la ou encerrá-la, consulte Retomar ou reativar o Device Sync.
Dica
O Device Sync é pausado automaticamente após 30 dias de inatividade.
Pré-requisitos
Se você ainda não decidiu como deseja configurar seu modelo de dados, consulte Visão geral da sincronização do modelo de dados.
A menos que esteja usando modo de desenvolvimento, especifique pelo menos um esquema válido para uma collection no cluster sincronizado antes de habilitar a sincronização. No mínimo, o esquema deve definir _id
como uma chave primária. Você também deve incluir o(s) campo(s) que pretende usar como seus campos de query.
Para obter mais detalhes sobre como definir um esquema, consulte Definir e aplicar um esquema.
Procedimento
Observação
Requisitos de fonte de dados para Device Sync
Para habilitar o Device Sync, seu aplicativo do App Services App deve ter pelo menos uma fonte de dados vinculada que atenda aos seguintes requisitos:
Um cluster de MongoDB Atlas não fragmentado executando o MongoDB 5.0 ou posterior.
O cluster não pode ser uma instância sem servidor ou instância do banco de dados de dados federado. Consulte Limitações da fonte de dados.
Especifique suas configurações de Sync
Siga as instruções para configurar o Device Sync Para obter detalhes sobre as configurações disponíveis, consulte Configurações de Sync.
Obtenha a versão mais recente da sua aplicação
Obtenha uma cópia local dos arquivos de configuração do seu aplicativo. Para obter a versão mais recente do seu aplicativo, execute o seguinte comando:
appservices pull --remote="<Your App ID>"
Você também pode exportar uma cópia dos arquivos de configuração do aplicativo da interface do usuário ou com a API Admin. Para saber como, consulte Exporte um aplicativo.
Adicionar uma configuração de sincronização
Você pode habilitar a sincronização para um único cluster vinculado em seu aplicativo. Se ainda não tiver vinculado o cluster ao seu aplicativo, siga primeiro o guia Vincule uma fonte de dados.
O aplicativo App Services tem um diretório sync
onde você pode encontrar o arquivo de configuração de sincronização. Se você ainda não tiver ativado o Sync, esse diretório estará vazio.
Adicione um config.json
semelhante a:
{ "type": "flexible", "development_mode_enabled": <Boolean>, "service_name": "<Data Source Name>", "database_name": "<Development Mode Database Name>", "state": <"enabled" | "disabled">, "client_max_offline_days": <Number>, "is_recovery_mode_disabled": <Boolean>, "indexed_queryable_fields_names": <Array of String Field Names>, "queryable_fields_names": <Array of String Field Names>, "collection_queryable_fields_names": <Map[String][]String> }
Consulte a Referência do arquivo de configuração de sincronização para mais informações.
Selecione um cluster para sincronizar
Você pode ativar o Realm Mobile Sync para um único cluster vinculado em sua aplicação. Se você ainda não vinculou o cluster à sua aplicação, siga o guia Vincular um conjunto de dados .
Observação
Autenticando sua solicitação com um token de acesso
Para autenticar sua solicitação no App Services Admin API, você precisa de um token de autorização válido e atual da API do MongoDB Cloud. Leia a documentação de autenticação da API para saber como adquirir um token de acesso válido.
Você precisará do arquivo de configuração de serviço do cluster para configurar a sincronização. Você pode encontrar o arquivo de configuração listando todos os serviços por meio da API de administrador:
curl https://services.cloud.mongodb.com/api/admin/v3.0/groups/{GROUP_ID}/apps/{APP_ID}/services \ -X GET \ -h 'Authorization: Bearer <Valid Access Token>'
Identifique o cluster cuja configuração você precisa atualizar para habilitar a sincronização. Se você aceitou os nomes padrão ao configurar seu aplicativo, ele deverá ser um cluster cujo name
seja mongodb-atlas
e type
seja mongodb-atlas
. Você precisa do _id
deste cluster.
Agora você pode obter o arquivo de configuração do serviço para este cluster:
curl https://services.cloud.mongodb.com/api/admin/v3.0/groups/{GROUP_ID}/apps/{APP_ID}/services/{MongoDB_Service_ID}/config \ -X GET \ -h 'Authorization: Bearer <Valid Access Token>'
Para configurar a sincronização, adicionaremos um objeto flexible_sync
a essa configuração em uma etapa a seguir.
Habilitar modo de desenvolvimento (opcional)
Se você quiser ativar o Modo de desenvolvimento para simplificar a produção, use o seguinte comando:
curl https://services.cloud.mongodb.com/api/admin/v3.0/groups/{GROUP_ID}/apps/{APP_ID}/sync/config \ -X PUT \ -h 'Authorization: Bearer <Valid Access Token>' \ -h "Content-Type: application/json" \ -d '{"development_mode_enabled": true}'
Adicione e implemente a configuração de sincronização
Para implantar suas alterações e começar a sincronizar dados, envie uma solicitação de API Admin que atualize a configuração do cluster com um objeto flexible_sync
usando a seguinte configuração de modelo:
curl https://services.cloud.mongodb.com/api/admin/v3.0/groups/{GROUP_ID}/apps/{APP_ID}/services/{MongoDB_Service_ID}/config \ -X PATCH \ -h 'Authorization: Bearer <Valid Access Token>' \ -h "Content-Type: application/json" \ -d '<Flexible Sync Configuration>'
{ "flexible_sync": { "state": "enabled", "database_name": "<Name of Database>", "client_max_offline_days": <Number>, "is_recovery_mode_disabled": <Boolean>, "indexed_queryable_fields_names": <Array of String Field Names>, "queryable_fields_names": <Array of String Field Names>, "collection_queryable_fields_names": <Map[String][]String> } }
Para obter detalhes sobre a configuração de sincronização, consulte a Referência do arquivo de configuração de sincronização.
Você pode confirmar que a configuração de sincronização foi adicionada obtendo a configuração do serviço novamente, conforme descrito na etapa 1.