Criar um trabalho de exportação de snapshot
Exporta um snapshot de backup para um cluster do Atlas dedicado usando backups em nuvem para um bucket de exportação. Para usar esse recurso, a conta de serviço ou chave de API solicitante deve ter a função de administrador Atlas do projeto.
parâmetros de caminho
-
Sequência única de 24dígitos hexadecimais que identifica seu projeto. Use o endpoint /groups para extrair todos os projetos aos quais o usuário autenticado tem acesso.
AVISO: grupos e projetos são termos sinônimos. O ID do seu grupo é igual ao ID do seu projeto. Para grupos existentes, o ID do grupo/projeto permanece o mesmo. O recurso e os endpoints correspondentes usam o termo grupos.
O formato deve corresponder ao seguinte padrão:
^([a-f0-9]{24})$
. -
Etiqueta legível por humanos que identifica o cluster.
O formato deve corresponder ao seguinte padrão:
^[a-zA-Z0-9][a-zA-Z0-9-]*$
.
parâmetros de query
-
Sinalizador que indica se o aplicativo empacota a resposta em um objeto JSON
envelope
. Alguns clientes de API não podem acessar os cabeçalhos de resposta HTTP ou o código de status. Para corrigir isso, defina envelope=true na consulta. Os endpoints que retornam uma lista de resultados usam o objeto de resultados como um envelope. O aplicativo adiciona o parâmetro de status ao corpo da resposta.O valor padrão é
false
.
corpo, corpo
Obrigatório
Informações sobre a tarefa de exportação de snapshot de backup em nuvem a ser criado.
-
Collection de pares de chave-valor que representam dados personalizados a serem adicionados ao arquivo de metadados que o MongoDB Cloud carrega no bucket quando o trabalho de exportação é concluído.
Collection de pares de chave-valor que representam dados personalizados a serem adicionados ao arquivo de metadados que o MongoDB Cloud carrega no bucket quando o trabalho de exportação é concluído.
-
Cadeia de caracteres 24-hexadecimal exclusiva que identifica o bucket de exportação.
O formato deve corresponder ao seguinte padrão:
^([a-f0-9]{24})$
. -
String exclusiva de 24caracteres hexadecimais que identifica o snapshot do backup em nuvem a ser exportado.
O formato deve corresponder ao seguinte padrão:
^([a-f0-9]{24})$
.
atlas api cloudBackups createGroupClusterBackupExport --help
import (
"os"
"context"
"log"
sdk "go.mongodb.org/atlas-sdk/v20231001001/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.CreateGroupClusterBackupExportApiParams{}
sdkResp, httpResp, err := client.CloudBackupsApi.
CreateGroupClusterBackupExportWithParams(ctx, params).
Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "Accept: application/vnd.atlas.2023-10-01+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/exports" \
-d '{ <Payload> }'
curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
--digest --include \
--header "Accept: application/vnd.atlas.2023-10-01+json" \
--header "Content-Type: application/json" \
-X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/backup/exports" \
-d '{ <Payload> }'
{
"customData": [
{
"key": "string",
"value": "string"
}
],
"exportBucketId": "32b6e34b3d91647abb20e7b8",
"snapshotId": "32b6e34b3d91647abb20e7b8"
}
{
"components": [
{
"exportId": "32b6e34b3d91647abb20e7b8",
"replicaSetName": "string"
}
],
"createdAt": "2025-05-04T09:42:00Z",
"customData": [
{
"key": "string",
"value": "string"
}
],
"exportBucketId": "32b6e34b3d91647abb20e7b8",
"exportStatus": {
"exportedCollections": 42,
"totalCollections": 42
},
"finishedAt": "2025-05-04T09:42:00Z",
"id": "32b6e34b3d91647abb20e7b8",
"links": [
{
"href": "https://cloud.mongodb.com/api/atlas",
"rel": "self"
}
],
"prefix": "string",
"snapshotId": "32b6e34b3d91647abb20e7b8",
"state": "Cancelled",
"stateReason": {
"errorCode": "string",
"message": "string"
}
}
{
"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": 409,
"detail": "(This is just an example, the exception may not be related to this endpoint) Cannot delete organization link while there is active migration in following project ids: 60c4fd418ebe251047c50554",
"reason": "Conflict",
"errorCode": "CANNOT_DELETE_ORG_ACTIVE_LIVE_MIGRATION_ATLAS_ORG_LINK"
}
{
"error": 500,
"detail": "(This is just an example, the exception may not be related to this endpoint)",
"reason": "Internal Server Error",
"errorCode": "UNEXPECTED_ERROR"
}