Si desea desactivar la sincronización de dispositivos Atlas para su aplicación, puede pausarla temporalmente o finalizarla permanentemente. También puede reactivarla después de desactivarla.
Puedes temporalmente Pause la sincronización de dispositivos si necesita pausar el clúster. Con una pausa temporal, puede reactivarla sin tener que restablecer la configuración de sincronización de dispositivos ni perder sus metadatos.
Puede finalizar y volver a habilitar permanentemente la sincronización del dispositivo para solucionar problemas o si desea cambiar la configuración de la sincronización del dispositivo.
Device Sync se pausa automáticamente después de 30 días de inactividad.
Pausar sincronización
Puedes pausar la sincronización de dispositivos durante un tiempo sin desactivarla por completo. Al pausarla, se detiene la sincronización de cambios entre Atlas y tu aplicación.
Importante
Si necesita pausar el clúster, primero pause la sincronización de dispositivos. De lo contrario, deberá finalizarla y volver a habilitarla, y reiniciar el cliente.
Al pausar la sincronización de dispositivos, se rechazan las conexiones entrantes de los clientes. Esto significa que al pausar la sincronización de dispositivos de tu aplicación, se detiene la sincronización de los cambios para todos los clientes.
Puede utilizar la API de servicios de aplicaciones para pausar programáticamente la sincronización del dispositivo.
Obtener un token de autenticación
Cada solicitud a la API de administración de servicios de aplicaciones debe incluir un token de autorización válido y actual de la API de MongoDB Cloud como un token portador en el Authorization encabezamiento.
Para obtener detalles sobre cómo obtener un token de autenticación, consulte Obtener tokens de autenticación.
Obtener ID de grupos, aplicaciones y servicios
Obtén el ID de grupo y de aplicación para tu aplicación.
Obtén el ID de servicio de tu servicio de sincronización. Puedes obtener todos los servicios programáticamente mediante el punto de conexión adminListServices.
Alternativamente, puede extraer los ID de grupo, aplicación y servicio de la URL cuando ve la interfaz de usuario.
Vaya a la aplicación Servicios de aplicaciones donde está configurada la sincronización del dispositivo.
Seleccione Linked Data Sources en la barra lateral debajo de Manage.
Selecciona el mongodb-atlas CLUSTER.
La URL en la barra de herramientas de su navegador ahora debería parecerse a:
https://services.cloud.mongodb.com/groups/$GROUP_ID/apps/$APP_ID/services/$SERVICE_ID/config
Obtener la configuración del servicio de sincronización
Envíe una solicitud GET al punto final adminGetServiceConfig para obtener la configuración del servicio Device Sync. Esto devuelve un objeto de configuración de servicio similar a:
{ "clusterId": "<MY-CLUSTER-ID>", "clusterName": "Cluster0", "clusterType": "atlas", "flexible_sync": { "state": "enabled", "database_name": "todo", "permissions": { "rules": {}, "defaultRoles": [] }, "client_max_offline_days": 30, "is_recovery_mode_disabled": false }, "groupName": "<MY-GROUP-NAME>", "orgName": "<MY-ORG-NAME>", "readPreference": "primary", "wireProtocolEnabled": false }
Para obtener detalles sobre la configuración de sincronización devuelta por este punto final, consulte Referencia del archivo de configuración de sincronización.
Editar la configuración del servicio de sincronización
Elimina la parte flexible_sync de la configuración a un nuevo objeto JSON. Esta configuración contiene un campo state que refleja el estado actual del protocolo de sincronización para la aplicación. Establece este valor en disabled. Esto ahora debería asemejarse a un blob JSON similar a:
{ "flexible_sync": { "state": "disabled", "database_name": "todo", "permissions": { "rules": {}, "defaultRoles": [] }, "client_max_offline_days": 30, "is_recovery_mode_disabled": false } }
Actualizar la configuración en Atlas
Envíe la configuración actualizada del servicio de sincronización como una carga útil en una solicitud PATCH al punto final adminUpdateServiceConfig.
Para pausar la sincronización del dispositivo desde el lado del cliente, utilizando la lógica que pausa situacionalmente la sincronización del dispositivo durante una sesión, consulte su SDK preferido:
Pausar o reanudar una sesión de sincronización de dispositivos - Flutter SDK
Pausar o reanudar una sesión de sincronización de dispositivos - SDK de Kotlin
Pausar o reanudar una sesión de sincronización de dispositivos - SDK de Java
Pausar o reanudar una sesión de sincronización de dispositivos - .Net SDK
Pausar o reanudar una sesión de sincronización de dispositivos - Node SDK
Pausar o reanudar una sesión de sincronización de dispositivos - React Native SDK
Pausar o reanudar una sesión de sincronización de dispositivos - Swift SDK
Tras pausar la sincronización de dispositivos, puede reactivarla. Al pausarla, se conservan la configuración y todos los metadatos, que incluyen el historial de sincronización. Al reactivarla, sus clientes podrán volver a conectarse con normalidad.
Advertencia
Si su registro de operaciones se acumula después de la pausa de Sincronización de dispositivos, deberá finalizarla y volver a habilitarla. Por ejemplo, si solo conserva 12 horas de registro de operaciones para su clúster y pausa Sincronización de dispositivos durante más de 12 horas, deberá finalizarla y volver a habilitarla.
Al finalizar y reactivar la sincronización de dispositivos Atlas en pausa para su aplicación, se borran los metadatos de la sincronización y es necesario volver a especificar la configuración. Los clientes deben reiniciar el cliente al volver a conectarse después de finalizar la sincronización de dispositivos Atlas. Para obtener más información, consulte: Finalizar la sincronización.
Terminar sincronización
Si ha habilitado la sincronización de dispositivos, es posible que tenga que finalizarla y volver a habilitarla en algunas circunstancias diferentes:
Una actualización de un clúster Atlas de nivel compartido a una instancia compartida o dedicada
Una migración a un clúster Atlas distribuido entre regiones y proveedores de nube
Una actualización de los clústeres NVMe Atlas
Un oplog rollover
Una sesión de sincronización de dispositivos en pausa en un clúster de nivel compartido debido a un uso poco frecuente
Solución de problemas, a petición del soporte de MongoDB
Cambiar entre modos de sincronización. Por ejemplo, si cambia de sincronización basada en particiones a sincronización flexible
Eliminar una colección que hayas usado con Sync. Por ejemplo, si tienes una colección
Teamque almacena y sincronizaTeamobjetos y luego la eliminas, debes finalizar y volver a habilitar Sync.
Advertencia
Restaurar la sincronización después de finalizarla
Al finalizar y reactivar Atlas Device Sync, los clientes ya no podrán sincronizar. Su cliente debe implementar un controlador de restablecimiento de cliente para restaurar la sincronización. Este controlador puede descartar o intentar recuperar los cambios no sincronizados.
Finalice la sincronización del dispositivo en su aplicación para detener la sincronización de datos entre dispositivos.
Confirme que desea terminar la sincronización
En el modal que aparece, escriba "Terminar sincronización" en la entrada de texto y luego haga clic en el botón Terminate Sync.
Si está utilizando borradores de implementación de UI, debe implementar el borrador para finalizar la sincronización.
Ahora ha finalizado la sincronización del dispositivo.
Puede utilizar la API de servicios de aplicaciones para finalizar programáticamente la sincronización del dispositivo.
Obtener un token de autenticación
Cada solicitud a la API de administración de servicios de aplicaciones debe incluir un token de autorización válido y actual de la API de MongoDB Cloud como token portador en el encabezado Authorization.
Para obtener detalles sobre cómo obtener un token de autenticación, consulte Obtener tokens de autenticación.
Obtener ID de grupos, aplicaciones y servicios
Obtén el ID de grupo y de aplicación para tu aplicación.
Obtén el ID de servicio de tu servicio de sincronización. Puedes obtener todos los servicios programáticamente mediante el punto de conexión adminListServices.
Alternativamente, puedes extraer los ID de Grupo, aplicación y Servicio de la URL al ver la Interfaz de Usuario:
Vaya a la aplicación Servicios de aplicaciones donde está configurada la sincronización del dispositivo.
Seleccione Linked Data Sources en la barra lateral debajo de Manage.
Selecciona el mongodb-atlas CLUSTER.
La URL en la barra de herramientas de su navegador ahora debería parecerse a:
https://services.cloud.mongodb.com/groups/$GROUP_ID/apps/$APP_ID/services/$SERVICE_ID/config
Obtener la configuración del servicio de sincronización
Envíe una solicitud GET al punto final adminGetServiceConfig para obtener la configuración del servicio Device Sync. Esto devuelve un objeto de configuración de servicio similar a:
{ "clusterId": "<MY-CLUSTER-ID>", "clusterName": "Cluster0", "clusterType": "atlas", "flexible_sync": { "state": "enabled", "database_name": "todo", "permissions": { "rules": {}, "defaultRoles": [] }, "client_max_offline_days": 30, "is_recovery_mode_disabled": false }, "groupName": "<MY-GROUP-NAME>", "orgName": "<MY-ORG-NAME>", "readPreference": "primary", "wireProtocolEnabled": false }
Para obtener detalles sobre la configuración de sincronización devuelta por este punto final, consulte Referencia del archivo de configuración de sincronización.
Editar la configuración del servicio de sincronización
Esta configuración contiene un campo state que refleja el estado actual del protocolo de sincronización de la aplicación. Establezca este valor en una cadena vacía "". Debería parecerse a un blob JSON similar a:
{ "flexible_sync": { "state": "", "database_name": "todo", "permissions": { "rules": {}, "defaultRoles": [] }, "client_max_offline_days": 30, "is_recovery_mode_disabled": false } }
Actualizar la configuración en Atlas
Envíe la configuración actualizada del servicio de sincronización como una carga útil en una solicitud PATCH al punto final adminUpdateServiceConfig.
Tras finalizar la sincronización de dispositivos, puede volver a habilitarla. Al finalizarla, se eliminan la configuración y todos los metadatos, que contienen el historial de sincronización. Para volver a habilitarla, deberá completar los pasos de configuración. Los clientes que se hayan conectado previamente no podrán volver a conectarse hasta que restablezcan el cliente.
Volver a habilitar la sincronización
Después de pausar o finalizar la Sincronización de Dispositivos, puede volver a habilitarla. Al reactivarla, su aplicación podrá sincronizar los cambios con Atlas. Tras reactivarla, su aplicación volverá a aceptar conexiones de clientes entrantes.
Al pausar la sincronización de dispositivos, App Services conserva la configuración y puedes omitir el paso "Configurar sincronización". Al finalizar la sincronización de dispositivos o cuando el registro de operaciones se repita después de la pausa, debes volver a especificar la configuración.
Para volver a habilitar la sincronización del dispositivo, siga los pasos de la guía Configurar y habilitar la sincronización del dispositivo Atlas.
Puedes usar la API de App Services para reactivar la sincronización de dispositivos mediante programación. Este procedimiento presupone que ya tienes una configuración de sincronización para tu clúster que puedes usar para reactivarla con la misma configuración.
Obtener un token de autenticación
Cada solicitud a la API de administración de servicios de aplicaciones debe incluir un token de autorización válido y actual de la API de MongoDB Cloud como token portador en el encabezado Authorization.
Para obtener detalles sobre cómo obtener un token de autenticación, consulte Obtener tokens de autenticación.
Obtener ID de grupo y ID de la aplicación
Obtén el ID de grupo y de aplicación para tu aplicación.
Editar la configuración del servicio de sincronización
Esta configuración contiene un campo state que refleja el estado actual del protocolo de sincronización de la aplicación. Establezca este valor en enabled. Debería parecerse a un blob JSON similar a:
{ "flexible_sync": { "state": "enabled", "database_name": "todo", "permissions": { "rules": {}, "defaultRoles": [] }, "client_max_offline_days": 30, "is_recovery_mode_disabled": false } }
Actualizar la configuración en Atlas
Envíe la configuración actualizada del servicio de sincronización como una carga útil en una solicitud PATCH al punto final adminUpdateServiceConfig.
Conectarse desde el Cliente
Al reactivar la sincronización, se habilitan las conexiones entrantes de clientes. Sin embargo, en algunas circunstancias, es posible que el código de la aplicación cliente deba reiniciar el cliente para que los clientes puedan volver a sincronizar.
Tu código debe gestionar el restablecimiento de un cliente cuando este se haya conectado previamente con Device Sync y la hayas cancelado. Al cancelar Device Sync en tu aplicación, se borran los metadatos que el cliente necesita para reconectarse.
Esto también aplica a las aplicaciones donde la Sincronización de Dispositivos está pausada por más tiempo que el registro de operaciones que guardas para tu clúster. Por ejemplo, si solo guardas 12 horas de registro de operaciones para tu clúster y pausas la Sincronización de Dispositivos por más de 12 horas, debes finalizarla y volver a habilitarla.
Para obtener información sobre cómo realizar un restablecimiento de cliente en el cliente, consulte la documentación del SDK: