Criar uma tarefa de restauração de backup legado
          
    Obsoleto(a)
 
        
        
        Restaura um backup legado para um cluster no projeto especificado. Para usar esse recurso, a conta de serviço ou a chave de API solicitante deve ter a função de proprietário do projeto. A partir de 23 de março de 2020, todos os novos clusters podem usar apenas backups em nuvem. Quando você faz upgrade para 4.2, seu sistema de backup faz upgrade para o backup em nuvem, caso esteja atualmente definido como backup legado. Após fazer o upgrade, todos os seus snapshots de backup legados existentes permanecerão disponíveis. Eles expiram ao longo do tempo de acordo com sua política de retenção. Sua política de backup é redefinida para o agendamento padrão. Se você tinha uma política de backup personalizada em vigor com backups legados, você deve recriá-la com o procedimento descrito na documentação de backups em nuvem. Esse ponto de extremidade não oferece suporte à criação de trabalhos de restauração de ponto de verificação para clusters fragmentados nem à criação de trabalhos de restauração para snapshots de queryable backup. Se você criar um trabalho de restauração automatizado especificando delivery.methodName de AUTOMATED_RESTORE no corpo da solicitação, o MongoDB Cloud removerá todos os dados existentes no cluster de destino antes da restauração.
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})$.
- 
    
  Rótulo legível por humanos que identifica o cluster com o snapshot que você deseja retornar. 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.
- 
    
  Sinalizador que indica se o corpo da resposta deve estar no formato prettyprint. O valor padrão é false.Prettyprint 
      
  
    
  
        corpo, corpo
      
    Obrigatório
 
    
    Backup legado para restaurar em um cluster no projeto especificado.
- 
    
  String exclusiva de 24 dígitos hexadecimais que identifica o checkpoint fragmentado do cluster. O checkpoint representa o ponto no tempo de retorno para o qual você deseja restaurar seus dados. Esse parâmetro se aplica quando "delivery.methodName" : "AUTOMATED_RESTORE". Use esse parâmetro somente com clusters fragmentados.- Se você definir checkpointId, não poderá definir oplogInc, oplogTs, snapshotId ou pointInTimeUTCMillis.
- Se você fornecer esse parâmetro, esse ponto de extremidade restaurará todos os dados até esse ponto de verificação para o banco de dados especificado no objeto delivery
 O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.
- 
    
  Método e detalhes que indicam como entregar os dados de snapshot restaurados. 
- 
    
  Ordinal incrementado de trinta e dois bits que representa operações em um determinado segundo. Quando emparelhado com oplogTs, isso representa o ponto no tempo para o qual o MongoDB Cloud restaura seus dados. Este parâmetro se aplica quando "delivery.methodName" : "AUTOMATED_RESTORE".- Se configurar oplogInc, você deverá configurar oplogTs e não poderá configurar checkpointId, snapshotId ou pointInTimeUTCMillis.
- Se você fornecer esse parâmetro, esse ponto de extremidade restaurará todos os dados até e incluindo este carimbo de data/hora Oplog no banco de dados especificado no objeto delivery.
 O valor mínimo é 1.
- 
    
  Data e hora a partir das quais você deseja restaurar esse snapshot. Este parâmetro expressa seu valor no formato ISO 8601 em UTC. Isso representa a primeira parte de um carimbo de data/hora do Oplog. Quando emparelhados com o oploginc, eles representam a última operação de banco de dados para a qual você deseja restaurar seus dados. Esse parâmetro se aplica quando "delivery.methodName" : "AUTOMATED_RESTORE". Execute uma consulta em local.oplog.rs em seu conjunto de réplicas para encontrar o carimbo de data/hora desejado.- Se você definir oplogTs, deverá definir oplogInc e não poderá definir checkpointId, snapshotId ou pointInTimeUTCMillis.
- Se você fornecer esse parâmetro, esse ponto de extremidade restaurará todos os dados até e incluindo este carimbo de data/hora Oplog no banco de dados especificado no objeto delivery.
 O formato deve corresponder ao seguinte padrão: ^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d{1,9})?(?:Z|[+-][01]\\d:[0-5]\\d)$.
- 
    
  Carimbo de data/hora a partir do qual pretende restaurar esse snapshot. Este parâmetro expressa seu valor no número de milissegundos decorridos desde a era UNIX. Esse carimbo de data/hora deve estar entre as últimas 24 horas da hora atual. Esse parâmetro se aplica quando "delivery.methodName" : "AUTOMATED_RESTORE".- Se você fornecer esse parâmetro, esse ponto de extremidade restaurará todos os dados até esse momento no banco de dados especificado no objeto delivery.
- Se você definir pointInTimeUTCMillis, não poderá definir oplogInc, oplogTs, snapshotId ou checkpointId.
 O valor mínimo é 1199145600000.UNIX Epoch 
- 
    
  String exclusiva de 24 dígitos hexadecimais que identifica o snapshot a ser restaurado. Se você definir snapshotId, não poderá definir oplogInc, oplogTs, pointInTimeUTCMillis ou checkpointId. O formato deve corresponder ao seguinte padrão: ^([a-f0-9]{24})$.
atlas api legacyBackup createClusterRestoreJob --helpimport (
	"os"
	"context"
	"log"
	sdk "go.mongodb.org/atlas-sdk/v20230101001/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.CreateGroupClusterRestoreJobApiParams{}
	sdkResp, httpResp, err := client.LegacyBackupApi.
		CreateGroupClusterRestoreJobWithParams(ctx, params).
		Execute()
}
curl --include --header "Authorization: Bearer ${ACCESS_TOKEN}" \
  --header "Accept: application/vnd.atlas.2023-01-01+json" \
  --header "Content-Type: application/json" \
  -X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/restoreJobs" \
  -d '{ <Payload> }'curl --user "${PUBLIC_KEY}:${PRIVATE_KEY}" \
  --digest --include \
  --header "Accept: application/vnd.atlas.2023-01-01+json" \
  --header "Content-Type: application/json" \
  -X POST "https://cloud.mongodb.com/api/atlas/v2/groups/{groupId}/clusters/{clusterName}/restoreJobs" \
  -d '{ <Payload> }'{
  "checkpointId": "32b6e34b3d91647abb20e7b8",
  "delivery": {
    "expirationHours": 42,
    "maxDownloads": 42,
    "methodName": "CLIENT_PIT_HTTP",
    "targetClusterId": "32b6e34b3d91647abb20e7b8",
    "targetClusterName": "string",
    "targetGroupId": "32b6e34b3d91647abb20e7b8"
  },
  "oplogInc": 42,
  "oplogTs": "string",
  "pointInTimeUTCMillis": 42,
  "snapshotId": "32b6e34b3d91647abb20e7b8"
}{
  "links": [
    {
      "href": "https://cloud.mongodb.com/api/atlas",
      "rel": "self"
    }
  ],
  "results": [
    {
      "batchId": "32b6e34b3d91647abb20e7b8",
      "clusterId": "32b6e34b3d91647abb20e7b8",
      "clusterName": "string",
      "created": "2025-05-04T09:42:00Z",
      "delivery": {
        "authHeader": "string",
        "authValue": "string",
        "expirationHours": 42,
        "expires": "2025-05-04T09:42:00Z",
        "maxDownloads": 42,
        "methodName": "CLIENT_PIT_HTTP",
        "statusName": "NOT_STARTED",
        "targetClusterId": "32b6e34b3d91647abb20e7b8",
        "targetClusterName": "string",
        "targetGroupId": "32b6e34b3d91647abb20e7b8",
        "url": "string",
        "urlV2": "string"
      },
      "encryptionEnabled": true,
      "groupId": "32b6e34b3d91647abb20e7b8",
      "hashes": [
        {
          "fileName": "string",
          "hash": "string",
          "links": [
            {
              "href": "https://cloud.mongodb.com/api/atlas",
              "rel": "self"
            }
          ],
          "typeName": "SHA1"
        }
      ],
      "id": "32b6e34b3d91647abb20e7b8",
      "links": [
        {
          "href": "https://cloud.mongodb.com/api/atlas",
          "rel": "self"
        }
      ],
      "masterKeyUUID": "string",
      "snapshotId": "32b6e34b3d91647abb20e7b8",
      "statusName": "IN_PROGRESS",
      "timestamp": {
        "date": "2025-05-04T09:42:00Z",
        "increment": 1199145600
      }
    }
  ],
  "totalCount": 42
}{
  "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"
}