Migre un clúster que Cloud u Ops Manager administra a MongoDB Atlas.
Asegúrese de validar su 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 es compatible con MongoDB 6.0 o versiones posteriores. Las migraciones a MongoDB 6.0 o versiones posteriores omitirán cualquier colección de series temporales en el clúster de origen. Versiones obsoletas: v2-{2023-01-01}
Parámetros de ruta
-
Cadena 24hexadecimal única que identifica su proyecto. Utilice el punto de conexión /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 de tu proyecto. Para los grupos existentes, el ID de tu grupo/proyecto permanece igual. El recurso y los puntos finales correspondientes usan el término "grupos".
El formato debe coincidir con el siguiente patrón:
^([a-f0-9]{24})$.
Parámetros de consulta
-
Indicador que indica si la aplicación encapsula 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 solucionar esto, configure envelope=true en la consulta. Los endpoints que devuelven una lista de resultados utilizan el objeto de resultados como encapsulado. La aplicación añade el parámetro de estado al cuerpo de la respuesta.El valor predeterminado es
false. -
Bandera que indica si el cuerpo de la respuesta debe estar en formato prettyprint.
El valor predeterminado es
false.Impresión bonita
Cuerpo
Requerido
Se creará una migración.
-
Documento que describe el destino de la migración.
-
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.
El valor predeterminado es
false. -
Lista de hosts de migración utilizados para esta migración.
Al menos
1pero no más de1elemento. La longitud mínima de cada uno es1. -
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.
-
Documento que describe el origen de la migración.
atlas api cloudMigrationService createGroupLiveMigration --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20250219001/admin"
)
func main() {
ctx := context.Background()
clientID := os.Getenv("MONGODB_ATLAS_CLIENT_ID")
clientSecret := os.Getenv("MONGODB_ATLAS_CLIENT_SECRET")
// See https://dochub.mongodb.org/core/atlas-go-sdk-oauth
client, err := sdk.NewClient(sdk.UseOAuthAuth(clientID, clientSecret))
if err != nil {
log.Fatalf("Error: %v", err)
}
params = &sdk.CreateGroupLiveMigrationApiParams{}
sdkResp, httpResp, err := client.CloudMigrationServiceApi.
CreateGroupLiveMigrationWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2025-02-19+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/liveMigrations" \
-d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2025-02-19+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/liveMigrations" \
-d '{ <Payload> }'
{
"destination": {
"clusterName": "string",
"groupId": "32b6e34b3d91647abb20e7b8",
"hostnameSchemaType": "PUBLIC",
"privateLinkId": "string"
},
"dropDestinationData": false,
"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"
}
}
{
"_id": "32b6e34b3d91647abb20e7b8",
"lagTimeSeconds": 42,
"migrationHosts": [
"vm001.example.com"
],
"readyForCutover": true,
"status": "NEW"
}
{
"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"
}
{
"error": 401,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Unauthorized",
"errorCode": "NOT_ORG_GROUP_CREATOR"
}
{
"error": 403,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Forbidden",
"errorCode": "CANNOT_CHANGE_GROUP_NAME"
}
{
"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"
}
{
"error": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}