Tutorial: Restaurar um conjunto de dados sísmico a um ponto anterior no tempo

Importante

Esta funcionalidade está atualmente em pré-visualização e está disponível mediante pedido para o SKU Standard. Para o ativar, crie um pedido de suporte do Azure. Para instruções, veja Como posso levantar um pedido de suporte para o Azure Data Manager for Energy? Consulte os Termos Suplementares de Utilização para Pré-visualizações do Microsoft Azure para termos legais que se aplicam a funcionalidades do Azure que estejam em beta, pré-visualização ou ainda não tenham sido lançadas em disponibilidade geral.

Utilize a operação de restauro do DDMS Sísmico no Azure Data Manager for Energy para restaurar um conjunto de dados sísmico a um ponto anterior no tempo. A operação restaura tanto os metadados do conjunto de dados como os seus dados de blob associados ao estado existente no carimbo temporal que especificas. Esta operação pode ajudar a recuperar um conjunto de dados após uma atualização ou eliminação não intencional, desde que uma versão restaurável ainda esteja disponível dentro do período fixo de retenção de 30 dias.

Neste tutorial, aprenderás como:

  • Escolha um ponto de restauro válido
  • Iniciar uma operação de restauro para um único conjunto de dados
  • Monitorizar o estado da operação de restauro
  • Compreenda as limitações de restauração

Pré-requisitos

Antes de começar, certifique-se de que cumpre os seguintes pré-requisitos:

  • Um recurso Azure Data Manager for Energy Standard SKU com a pré-visualização de restauro do DDMS Sísmico ativada.
  • Registado tenant e subproject no serviço de DDMS sísmico.
  • A função subproject.admin atribuída à sua conta de utilizador.
  • Um token portador para autenticação por API. Veja Como gerar token de autenticação.
  • O sdPath conjunto de dados sísmico que pretende restaurar.
  • Um ponto de restauro dentro do período fixo de retenção de 30 dias. O período de retenção não é configurável.

Restaurar operações da API

O fluxo de trabalho de restauro utiliza duas operações de API:

Funcionamento Método e ponto final Purpose
Iniciar uma restauração POST /seistore-svc/api/v3/operation/restore Inicia uma restauração assíncrona para o conjunto de dados identificado por sdPath. O órgão do pedido inclui restorePointInTime, que especifica o estado histórico a restaurar.
Obter o estado de restauro GET /seistore-svc/api/v3/operation/restore/{operation_id} Devolve o estado atual da restauração. Use a operation_id operação de retorno pelo início.

Escolha um ponto de restauro

O restorePointInTime valor identifica o estado a restaurar. Especifique o valor como um carimbo de data ISO 8601 UTC, por exemplo, 2026-07-10T08:30:00.000Z.

O ponto de restauro deve cumprir todos os seguintes requisitos:

  • É passado.
  • Está dentro do período fixo de retenção de restauração de 30 dias.
  • É mais tarde do que o tempo de criação do conjunto de dados.

Escolha um carimbo temporal imediatamente antes da atualização ou eliminação não intencional. O estado restaurado não inclui quaisquer alterações ao conjunto de dados feitas após o carimbo temporal selecionado.

Iniciar uma operação de restauro

Antes de submeter o pedido, pare as operações de escrita e eliminação no conjunto de dados. A operação de restauro bloqueia o conjunto de dados enquanto restaura os metadados e os dados do blob.

  1. Submeta um pedido POST ao endpoint de restauro. Devem sdPath identificar um conjunto de dados, não um diretório:

    POST <instance>.energy.azure.com/seistore-svc/api/v3/operation/restore
    Authorization: Bearer <access_token>
    data-partition-id: <data_partition_id>
    Content-Type: application/json
    
    {
      "sdPath": "sd://<tenant>/<subproject>/<path>/<dataset_name>",
      "restorePointInTime": "2026-07-10T08:30:00.000Z"
    }
    
  2. Guarde o operation_id ou statusUrl da 202 Accepted resposta. Precisa de um destes valores para monitorizar a operação:

    {
      "operation_id": "c3d282e6-e7d1-40d8-8ac2-edc15b6d174c",
      "statusUrl": "/seistore-svc/api/v3/operation/restore/c3d282e6-e7d1-40d8-8ac2-edc15b6d174c"
    }
    

Note

Uma resposta significa que o pedido passou 202 Accepted a validação inicial e foi colocado em fila. Isso não significa que a restauração tenha sido concluída com sucesso. Continue a sondar o endpoint de estado até que a operação atinja um estado terminal.

Monitorizar a operação de restauro

Consulta o endpoint de estado para acompanhar a restauração assíncrona.

  1. Envie um pedido GET com o operation_id:

    GET <instance>.energy.azure.com/seistore-svc/api/v3/operation/restore/<operation_id>
    Authorization: Bearer <access_token>
    data-partition-id: <data_partition_id>
    
  2. Verifique o status campo na resposta. A operação pode avançar antes EnqueuedInProgress de atingir o estado terminal.

    {
      "operationId": "c3d282e6-e7d1-40d8-8ac2-edc15b6d174c",
      "status": "InProgress",
      "sdPath": "sd://opendes/test-subproject/surveys/dataset1",
      "restorePointInTime": "2026-07-10T08:30:00.000Z",
      "tenant": "opendes",
      "subproject": "test-subproject",
      "createdBy": "00000000-0000-0000-0000-000000000000",
      "startedAt": "2026-07-15T10:00:00.000Z",
      "lastUpdatedAt": "2026-07-15T10:00:05.000Z"
    }
    
  3. Pare de sondar quando status é um dos seguintes valores terminais:

    Situação Descrição
    Succeeded Os metadados do conjunto de dados e os dados do blob foram restaurados no ponto temporal selecionado.
    Failed A restauração começou mas não conseguiu ser concluída. Análise errorDetails sobre a causa.
    Rejected O serviço não conseguiu iniciar a restauração, por exemplo, porque o conjunto de dados estava bloqueado ou não havia estado restaurável disponível. Análise errorDetails sobre a causa.

    O exemplo seguinte mostra uma restauração rejeitada:

    {
      "operationId": "c3d282e6-e7d1-40d8-8ac2-edc15b6d174c",
      "status": "Rejected",
      "sdPath": "sd://opendes/test-subproject/surveys/dataset1",
      "restorePointInTime": "2026-07-10T08:30:00.000Z",
      "createdBy": "00000000-0000-0000-0000-000000000000",
      "errorDetails": "Restore rejected: the dataset is currently locked by another in-progress write operation. Wait for that operation to finish and release the lock, then retry this restore.",
      "lastUpdatedAt": "2026-07-15T10:00:07.000Z",
      "completedAt": "2026-07-15T10:00:07.000Z"
    }
    

Após o sucesso da operação, recupere ou descarregue o conjunto de dados e confirme se os seus metadados e conteúdos correspondem ao estado esperado.

Limitações e considerações

Considere as seguintes limitações antes de iniciar uma restauração:

  • Apenas um único conjunto de dados — Cada pedido restaura um conjunto de dados. Não podes especificar um diretório, restaurar todos os conjuntos de dados num caminho, ou submeter vários conjuntos de dados num só pedido.
  • Aplica-se uma janela de retenção fixa — Não pode restaurar para um carimbo temporal fora do período de retenção de 30 dias. O período de retenção não é configurável e não pode ser anulado no pedido.
  • Uma restauração por partição de dados — Apenas uma operação de restauro pode ser executada numa partição de cada vez, mesmo que outro pedido tenha como alvo um conjunto de dados diferente. Um pedido simultâneo retorna 409 Conflict.
  • A restauração é assíncrona — Uma 202 Accepted resposta não é confirmação de sucesso. Tens de consultar o endpoint de estado.
  • As escritas devem ser pausadas — Um bloqueio ativo de escrita pode fazer com que a operação seja rejeitada. Não atualize nem apague o conjunto de dados até que a restauração atinja um estado terminal.
  • O estado atual é substituído — Uma restauração bem-sucedida transforma a versão histórica selecionada no estado atual do conjunto de dados. As atualizações feitas após o ponto de restauro não estão presentes na versão restaurada.
  • A disponibilidade de funcionalidades é limitada — A operação de restauro é uma funcionalidade de pré-visualização que deve ser ativada para uma instância de SKU Standard. Se não estiver ativado, o serviço devolve 403 Forbidden.

Limpeza de recursos

Este tutorial não cria recursos faturáveis no Azure. Se fizeste uma restauração para testes, verifica o estado do conjunto de dados antes de retomar as operações de escrita.