Docs Menu
Docs Home
/ /
Configurar sincronización

Pausar o finalizar la sincronización

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.

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.

1

En el Device Sync pestaña de la interfaz de usuario de Servicios de aplicaciones, presione el botón Pause Sync en la parte superior de la pantalla.

Luego, confirma que deseas pausar la sincronización.

Puede utilizar la API de servicios de aplicaciones para pausar programáticamente la sincronización del dispositivo.

1

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.

2
  • 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.

  1. Vaya a la aplicación Servicios de aplicaciones donde está configurada la sincronización del dispositivo.

  2. Seleccione Linked Data Sources en la barra lateral debajo de Manage.

  3. 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

3

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.

4

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
}
}
5

Envíe la configuración actualizada del servicio de sincronización como una carga útil en una solicitud PATCH al punto final adminUpdateServiceConfig.

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.

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 Team que almacena y sincroniza Team objetos 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.

1

En la pestaña Sync de la interfaz de usuario de Servicios de aplicaciones, haga clic en el botón rojo Terminate Sync en la parte superior de la pantalla.

2

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.

1

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.

2

Alternativamente, puedes extraer los ID de Grupo, aplicación y Servicio de la URL al ver la Interfaz de Usuario:

  1. Vaya a la aplicación Servicios de aplicaciones donde está configurada la sincronización del dispositivo.

  2. Seleccione Linked Data Sources en la barra lateral debajo de Manage.

  3. 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

3

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.

4

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
}
}
5

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.

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.

1

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.

2

Obtén el ID de grupo y de aplicación para tu aplicación.

3

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
}
}
4

Envíe la configuración actualizada del servicio de sincronización como una carga útil en una solicitud PATCH al punto final adminUpdateServiceConfig.

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:

Volver

Configuración de sincronización

En esta página