Migra un clúster gestionado localmente a MongoDB Atlas

publicación /api/atlas/v1.0/groups/{groupId}/liveMigrations

Migra un clúster que esté gestionado por Cloud o Ops Manager a MongoDB Atlas.

Por favor asegúrate de validar tu migración antes de iniciarla.

Puedes utilizar este endpoint de API solo para migraciones en vivo por push. Tu clave API debe tener el rol de Propietario de Organización para poder llamar correctamente a este recurso.

NOTA: la migración de colecciones de series temporales aún no se admite en MongoDB 6.0 o versiones superiores. Las migraciones en MongoDB 6.0 o superior omitirán cualquier colecciones de series de tiempo en el clúster de origen.

Parámetros de path

  • ID del grupo string Requerido

    string única de 24dígitos hexadecimales que identifica tu proyecto. Usa el endpoint /groups para recuperar todos los proyectos a los que el usuario autenticado tiene acceso.

    NOTA: Grupos y proyectos son términos sinónimos. El id de tu grupo es el mismo que el id de tu proyecto. Para los grupos ya existentes, el id de su grupo/proyecto sigue siendo el mismo. El recurso y los endpoints correspondientes utilizan el término grupos.

    El formato debe coincidir con el siguiente patrón: ^([a-f0-9]{24})$.

Parámetros de query

  • envelope booleano

    Bandera que indica si la aplicación envuelve la respuesta en un objeto JSON envelope. Algunos clientes de la API no pueden acceder a los encabezados de respuesta HTTP ni al código de estado. Para remediar esto, establece envelope=true en la query. Los endpoints que devuelven una lista de resultados utilizan el objeto de resultados como un sobre. La aplicación agrega el parámetro de estado al cuerpo de la respuesta.

    El valor por defecto es false.

  • bonito booleano

    Bandera que indica si el cuerpo de la respuesta debe estar en el formato prettyprint.

    El valor por defecto es false.

    Impresión bonita
aplicación/json

Cuerpo Requerido

Una migración por crear.

  • Destino Objeto Requerido

    Documento que describe el destino de la migración.

    Ocultar los atributos de destino Mostrar atributos de destino Objeto
    • Nombre del clúster string Requerido

      Etiqueta que identifica el clúster de destino.

      La longitud mínima es 1.

    • ID del grupo string Requerido

      string única de 24dígitos hexadecimales que identifica el Proyecto de destino.

      El formato debe coincidir con el siguiente patrón: ^([a-f0-9]{24})$.

    • nombre de hostSchemaType string Requerido

      El tipo de red a utilizar entre el host de migración y el clúster de destino.

      La longitud mínima es 1. Los valores son PUBLIC, PRIVATE_LINK o VPC_PEERING.

    • privateLinkId string

      Representa el punto de enlace a usar cuando el tipo de esquema del host es PRIVATE_LINK.

  • dropEnabled booleano Requerido

    Bandera que indica si el proceso de migración elimina todas las colecciones del clúster de destino antes de que comience la migración.

  • migrationHosts array[string] Requerido

    Lista de hosts de migración utilizados para esta migración.

    Al menos 1 pero no más de 1 elemento.

  • fragmentación Objeto

    Documento que configura la fragmentación en el clúster de destino al migrar desde un origen de conjunto de réplicas a un destino de clúster fragmentado en MongoDB 6.0 o superior. Si no desea fragmentar ninguna colección en el clúster de destino, deje este campo vacío.

    Ocultar atributos de fragmentación Mostrar atributos de particionado Objeto
    • crear índices de apoyo booleano Requerido

      Bandera que permite que la migración cree índices de soporte para las claves de fragmento, si no existe ninguna, ya que el clúster de destino también necesita índices compatibles para las claves de fragmento especificadas.

    • entradas de particionado arreglo[objeto] Requerido

      Lista de configuraciones de partición para las colecciones de destino de partición. Atlas sólo fragmenta aquellas colecciones que incluyes en el arreglo de entradas de particionado.

      Ocultar atributos de shardingEntries Mostrar shardingEntries Objeto

      Configuración de particionamiento para una colección que será particionada en el clúster de destino.

      • Colección string Requerido

        Etiqueta legible por humanos que identifica la colección que va a particionarse en el clúster de destino.

      • database string Requerido

        Etiqueta legible por humanos que identifica la base de datos que contiene la colección que se fragmentará en el clúster de destino.

      • shardCollection Objeto Requerido

        Documento que configura la clave de partición en el clúster de destino.

        Ocultar el atributo shardCollection Mostrar el atributo shardCollection Objeto
        • llave arreglo[objeto] Requerido

          Lista de campos a utilizar para la clave de fragmento.

          Ocultar atributo clave Mostrar atributo clave Objeto
          • * Objeto Propiedades adicionales
  • Origen Objeto Requerido

    Documento que describe el origen de la migración.

    Ocultar atributos de origen Mostrar atributos de origen Objeto
    • caCertificatePath string

      Ruta al certificado de CA que firmó los certificados SSL utilizados para autenticarse en el clúster de origen.

    • Nombre del clúster string Requerido

      Etiqueta que identifica el nombre del clúster de origen.

      La longitud mínima es 1.

    • ID del grupo string Requerido

      string única de 24 dígitos hexadecimales que identifica el proyecto de origen.

      El formato debe coincidir con el siguiente patrón: ^([a-f0-9]{24})$.

    • managedAuthentication booleano Requerido

      Indicador que señala si la Automatización de MongoDB gestiona la autenticación al clúster de origen. Si es cierto, no proporciones valores para el nombre de usuario y la contraseña.

    • Contraseña string

      Contraseña que permite al nombre de usuario autenticarse en el clúster de origen.

    • ssl booleano Requerido

      Indicador que indica si tienes SSL activado.

    • Nombre de usuario string

      Etiqueta que identifica al usuario SCRAM-SHA que se conecta al clúster de origen.

Respuestas

  • 201 aplicación/json

    Creado.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • _id string

      string única de 24dígitos hexadecimales que identifica la tarea de migración.

      El formato debe coincidir con el siguiente patrón: ^([a-f0-9]{24})$.

    • lagTimeSeconds entero(int64) | nulo

      Atraso de la replicación entre los clústeres de origen y destino. Atlas devuelve esta configuración solo durante una migración activa, antes de la fase de cambio.

    • migrationHosts array[string]

      Lista de hosts que ejecutan MongoDB Agents. Estos agentes pueden transferir los datos de tu MongoDB entre un clúster de origen y un clúster de destino.

      El formato de cada uno debe coincidir con el siguiente patrón: ^([0-9]{1,3}\.){3}[0-9]{1,3}|([0-9a-f]{1,4}:){7}([0-9a-f]{1,4})|(([a-z0-9]+\.){1,10}[a-z]+)?$.

    • listo para la transición booleano

      Bandera que indica que el clúster migrado se puede transferir a MongoDB Atlas.

    • Estado string

      Progreso realizado en la migración de un clúster a MongoDB Atlas.

      NEWAlguien programó una migración del clúster local a MongoDB Atlas.

      FAILED:La migración del clúster a MongoDB Atlas falló.

      COMPLETE:La migración del clúster a MongoDB Atlas se realizó correctamente.

      EXPIREDMongoDB Atlas se prepara para comenzar la transferencia del clúster en proceso de migración cuando los clústeres de origen y destino estén casi sincronizados. Si "readyForCutover" : true, esta sincronización inicia un temporizador de 120 horas. Puede extender este temporizador. Si se vence el temporizador, MongoDB Atlas devuelve este estado.

      WORKING: La migración del clúster a MongoDB Atlas está realizando una de las siguientes tareas:

      • Preparando conexiones a clústeres de origen y destino.
      • Replicar datos desde el origen al destino.
      • Verificando configuraciones de conexión de MongoDB Atlas.
      • Detener la replicación después de la migración.

      Los valores son NEW, WORKING, FAILED, COMPLETE o EXPIRED.

  • 400 aplicación/json

    Solicitud incorrecta.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecta.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos arreglo[objeto]

        Describe todas las infracciones en una solicitud de cliente.

        Ocultar campos atributos Mostrar los atributos de los campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de la solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros arreglo[objeto]

      Parámetros utilizados para proporcionar más información sobre el error.

    • motivo string

      El mensaje de error de la aplicación se devuelve con este error.

  • 401 aplicación/json

    No autorizado.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecta.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos arreglo[objeto]

        Describe todas las infracciones en una solicitud de cliente.

        Ocultar campos atributos Mostrar los atributos de los campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de la solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros arreglo[objeto]

      Parámetros utilizados para proporcionar más información sobre el error.

    • motivo string

      El mensaje de error de la aplicación se devuelve con este error.

  • 403 aplicación/json

    Forbidden.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecta.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos arreglo[objeto]

        Describe todas las infracciones en una solicitud de cliente.

        Ocultar campos atributos Mostrar los atributos de los campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de la solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros arreglo[objeto]

      Parámetros utilizados para proporcionar más información sobre el error.

    • motivo string

      El mensaje de error de la aplicación se devuelve con este error.

  • 404 aplicación/json

    No se encontró.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecta.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos arreglo[objeto]

        Describe todas las infracciones en una solicitud de cliente.

        Ocultar campos atributos Mostrar los atributos de los campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de la solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros arreglo[objeto]

      Parámetros utilizados para proporcionar más información sobre el error.

    • motivo string

      El mensaje de error de la aplicación se devuelve con este error.

  • 500 aplicación/json

    Error interno del servidor.

    Ocultar atributos de respuesta Mostrar los atributos de respuesta Objeto
    • badRequestDetail Objeto

      Detalle de solicitud incorrecta.

      Ocultar el atributo badRequestDetail Mostrar el atributo badRequestDetail Objeto
      • campos arreglo[objeto]

        Describe todas las infracciones en una solicitud de cliente.

        Ocultar campos atributos Mostrar los atributos de los campos Objeto
        • Descripción string Requerido

          Una descripción de por qué el elemento de la solicitud es incorrecto.

        • Campo string Requerido

          Una ruta que conduce a un campo en el cuerpo de la solicitud.

    • detalle string

      Describe las condiciones o razones específicas que causan cada tipo de error.

    • Error integer(int32) Requerido

      Código de estado HTTP devuelto con este error.

      Documentación externa
    • errorCode string Requerido

      Código de error de aplicación devuelto con este error.

    • Parámetros arreglo[objeto]

      Parámetros utilizados para proporcionar más información sobre el error.

    • motivo string

      El mensaje de error de la aplicación se devuelve con este error.

POST /api/atlas/v1.0/groups/{groupId}/liveMigrations
curl \
 --request POST 'https://cloud.mongodb.com/api/atlas/v1.0/groups/32b6e34b3d91647abb20e7b8/liveMigrations' \
 --header "Authorization: Bearer $ACCESS_TOKEN" \
 --header "Content-Type: application/json" \
 --data '{"destination":{"clusterName":"string","groupId":"32b6e34b3d91647abb20e7b8","hostnameSchemaType":"PUBLIC","privateLinkId":"string"},"dropEnabled":true,"migrationHosts":["vm001.example.com"],"sharding":{"createSupportingIndexes":true,"shardingEntries":[{"collection":"string","database":"string","shardCollection":{"key":[{"additionalProperty1":{},"additionalProperty2":{}}]}}]},"source":{"caCertificatePath":"string","clusterName":"string","groupId":"32b6e34b3d91647abb20e7b8","managedAuthentication":true,"password":"string","ssl":true,"username":"string"}}'
Solicitar ejemplos
{
  "destination": {
    "clusterName": "string",
    "groupId": "32b6e34b3d91647abb20e7b8",
    "hostnameSchemaType": "PUBLIC",
    "privateLinkId": "string"
  },
  "dropEnabled": true,
  "migrationHosts": [
    "vm001.example.com"
  ],
  "sharding": {
    "createSupportingIndexes": true,
    "shardingEntries": [
      {
        "collection": "string",
        "database": "string",
        "shardCollection": {
          "key": [
            {
              "additionalProperty1": {},
              "additionalProperty2": {}
            }
          ]
        }
      }
    ]
  },
  "source": {
    "caCertificatePath": "string",
    "clusterName": "string",
    "groupId": "32b6e34b3d91647abb20e7b8",
    "managedAuthentication": true,
    "password": "string",
    "ssl": true,
    "username": "string"
  }
}
Ejemplos de respuestas (201)
{
  "_id": "32b6e34b3d91647abb20e7b8",
  "lagTimeSeconds": 42,
  "migrationHosts": [
    "vm001.example.com"
  ],
  "readyForCutover": true,
  "status": "NEW"
}
Ejemplos de respuestas (400)
{
  "error": 400,
  "detail": "(This is just an example, the exception may not be related to this endpoint) No provider AWS exists.",
  "reason": "Bad Request",
  "errorCode": "VALIDATION_ERROR"
}
Ejemplos de respuestas (401)
{
  "error": 401,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Unauthorized",
  "errorCode": "NOT_ORG_GROUP_CREATOR"
}
Ejemplos de respuestas (403)
{
  "error": 403,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Forbidden",
  "errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
Ejemplos de respuestas (404)
{
  "error": 404,
  "detail": "(This is just an example, the exception may not be related to this endpoint) Cannot find resource AWS",
  "reason": "Not Found",
  "errorCode": "RESOURCE_NOT_FOUND"
}
Ejemplos de respuestas (500)
{
  "error": 500,
  "detail": "(This is just an example, the exception may not be related to this endpoint)",
  "reason": "Internal Server Error",
  "errorCode": "UNEXPECTED_ERROR"
}