Учебник: Восстановить сейсмический набор данных в предыдущий момент времени

Important

Эта функция сейчас находится в предварительном просмотре и доступна по запросу для стандартного SKU. Чтобы включить его, создайте запрос поддержка Azure. Для инструкций см. Как подать запрос в поддержку Azure Data Manager for Energy? Смотрите дополнительные условия использования Microsoft Azure Preview, чтобы узнать юридические термины, применяемые к функциям Azure, находящимся в бета-версии, предварительном просмотре или иным образом ещё не выпущенных в общедоступный доступ.

Используйте операцию восстановления Seismic DDMS в Azure Data Manager for Energy, чтобы восстановить один сейсмический набор данных на более ранний момент времени. Операция восстанавливает как метаданные набора данных, так и связанные с ним данные blob в состояние, существовавшее на момент указанной вами метки. Эта операция может помочь восстановить набор данных после непреднамеренного обновления или удаления, при условии, что восстанавливаемая версия всё ещё доступна в течение фиксированного 30-дневного периода сохранения.

В этом руководстве вы узнаете, как:

  • Выберите действительную точку восстановления
  • Инициировать операцию восстановления для одного набора данных
  • Отслеживайте состояние операции восстановления
  • Понимание ограничений восстановления

Prerequisites

Перед началом работы убедитесь, что выполнены следующие предварительные требования:

  • Ресурс Azure Data Manager for Energy Standard SKU с включённым предпросмотром восстановления Seismic DDMS.
  • Зарегистрирована tenant и subproject в сейсмической службе DDMS.
  • Роль subproject.admin, назначенная вашей учетной записи пользователя.
  • Маркер носителя для проверки подлинности API. Узнайте , как создать маркер проверки подлинности.
  • Сейсмический sdPath набор данных, который вы хотите восстановить.
  • Точка восстановления в пределах установленного 30-дневного периода удержания. Период удержания не поддается настройке.

Восстановление операций API

Рабочий процесс восстановления использует две операции API:

Операция Метод и конечная точка Purpose
Запуск восстановления POST /seistore-svc/api/v3/operation/restore Запускается асинхронное восстановление для набора данных, идентифицированного .sdPath Запросный орган включает restorePointInTime, который указывает историческое состояние для восстановления.
Получите статус восстановления GET /seistore-svc/api/v3/operation/restore/{operation_id} Возвращает текущий статус восстановления. Используйте операцию operation_id возврата по старту.

Выберите точку восстановления

Значение restorePointInTime определяет состояние для восстановления. Укажите значение как метку времени ISO 8601 UTC, например, 2026-07-10T08:30:00.000Z.

Точка восстановления должна соответствовать всем следующим требованиям:

  • Это в прошлом.
  • Это в пределах фиксированного 30-дневного периода восстановления.
  • Это позже, чем время создания набора данных.

Выберите временную метку непосредственно перед непреднамеренным обновлением или удалением. Восстановленное состояние не включает изменения набора данных, внесённые после выбранного временного метки.

Запустить операцию восстановления

Перед отправкой запроса остановите операции записи и удаления в наборе данных. Операция восстановления блокирует набор данных, пока восстанавливает метаданные и данные blob.

  1. Отправьте POST-запрос на конечную точку восстановления. Необходимо sdPath определить один набор данных, а не каталог:

    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. Сохраните « operation_id или» statusUrl от 202 Accepted ответа. Для мониторинга работы нужна одна из этих значений:

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

Note

Ответ означает, что запрос прошёл 202 Accepted первоначальную валидацию и был поставлен в очередь. Это не значит, что восстановление прошло успешно. Продолжайте опрашивать конечную точку состояния до тех пор, пока операция не достигнет конечного состояния.

Мониторинг операции восстановления

Опросите конечную точку статуса, чтобы отслеживать асинхронное восстановление.

  1. Отправьте запрос на GET с: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. Проверьте поле status в ответе. Операция может проходить и EnqueuedInProgress до того, как достигнет терминального состояния.

    {
      "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. Остановить опрос, когда status одно из следующих терминальных значений:

    Статус Описание
    Succeeded Метаданные набора данных и данные blob были восстановлены в выбранную точку времени.
    Failed Восстановление началось, но не могло завершиться. Проверьте errorDetails причину.
    Rejected Сервис не мог запустить восстановление, например, потому что набор данных был заблокирован или восстановленное состояние не было доступно. Проверьте errorDetails причину.

    Следующий пример показывает отклонённое восстановление:

    {
      "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"
    }
    

После успешного выполнения операции получите или скачайте набор данных и убедитесь, что его метаданные и содержимое соответствуют ожидаемому состоянию.

Ограничения и рекомендации

Учитывайте следующие ограничения перед началом восстановления:

  • Только один набор данных — каждый запрос восстанавливает один набор данных. Нельзя указать директорию, восстановить все наборы данных по пути или отправить несколько наборов данных в одном запросе.
  • Фиксированное окно хранения действует — вы не можете восстановить его до временной метки вне 30-дневного периода сохранения. Период удержания не настраивается и не может быть отменён в запросе.
  • Одно восстановление на каждый раздел данных — в разделе данных может выполняться только одна операция восстановления, даже если другой запрос направлен на другой набор данных. Параллельный запрос возвращает 409 Conflict.
  • Восстановление асинхронно — ответ 202 Accepted не является подтверждением успеха. Вы должны опросить конечную точку статуса.
  • Записи должны быть приостановлены — активный блокировщик записи может привести к отказу операции. Не обновляйте и не удаляйте набор данных, пока восстановление не достигнет терминального состояния.
  • Текущее состояние заменяется — успешное восстановление делает выбранную историческую версию текущим состоянием набора данных. Обновления, сделанные после точки восстановления, отсутствуют в восстановленной версии.
  • Доступность функций ограничена — операция восстановления является функцией предварительного просмотра, которую необходимо включить для стандартного SKU. Если он не включён, сервис возвращает 403 Forbidden.

Очистите ресурсы

В этом учебнике не создаются оплачиваемые ресурсы Azure. Если вы выполняли восстановление для тестирования, проверьте состояние набора данных перед возобновлением операций записи.