Руководство. Изменение уровня хранилища сейсмических наборов данных

Это важно

Эта функция сейчас доступна в предварительной версии и доступна по умолчанию в SKU разработчика. Ознакомьтесь с дополнительными условиями использования для предварительных версий Microsoft Azure для получения информации о юридических условиях, которые применяются к функциям Azure, находящимся в стадии бета-тестирования, предварительного просмотра или еще не выпущенными в широкую доступность.

Используйте операцию "Изменить уровень" в Azure Data Manager for Energy для перемещения наборов данных между уровнями хранения Hot, Cool и Cold в зависимости от частоты доступа. Перемещение редко используемых данных на более холодные уровни хранения снижает затраты на хранение, в то время как размещение активных наборов данных на горячем уровне обеспечивает оптимальную производительность. Эта операция особенно важна для управления сейсмическими данными, где большие объемы исторических данных должны оставаться доступными для дальнейшего анализа или соответствия требованиям, но не требуют частого доступа.

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

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

Понимание уровней хранилища

Seismic DDMS поддерживает следующие уровни хранилища, которые сопоставляют базовые классы хранилища поставщика облачных служб:

Уровень Частота доступа Задержка доступа Стоимость хранения Сценарий использования
Горячий Часто используемые ресурсы Миллисекунды Самый высокий Активные проекты, недавние приобретения
Классно Редко используемый (30+ дней) Миллисекунды Ниже Завершенные проекты, периодическая повторная обработка
Холодный Редко используемые (90+ дней) От миллисекунд к часам Наиболее низкий Долгосрочное хранение, соответствие нормативным требованиям

Каждый уровень имеет минимальный срок хранения. Перемещение данных из уровня хранения до истечения минимального периода может привести к начислению платы за преждевременное удаление.

Необходимые условия

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

  • Диспетчер данных Azure для энергетического ресурса с настроенным сейсмическим DDMS.
  • Зарегистрирована tenant и subproject в сейсмической службе DDMS.
  • Роль subproject.admin, назначенная вашей учетной записи пользователя.
  • Маркер носителя для проверки подлинности API. Узнайте , как создать маркер проверки подлинности.
  • По крайней мере один набор данных, зарегистрированный в целевом подпроекте.

Запуск операции уровня изменений

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

  1. Отправьте запрос PUT с путем и целевым уровнем. Используйте конечный слэш / для путей к каталогам (например, sd://tenant/subproject/a/b/c/) и без конечного слэша для одного набора данных (например, sd://tenant/subproject/a/b/c/dataset-name):

    • Все наборы данных в пути:

      PUT <instance>.energy.azure.com/seistore-svc/api/v3/operation/change-tier?path=sd://{tenant}/{subproject}/{path}/&tier=Cool
      Authorization: Bearer {access_token}
      Content-Type: application/json
      
    • Один набор данных:

      PUT <instance>.energy.azure.com/seistore-svc/api/v3/operation/change-tier?path=sd://{tenant}/{subproject}/{path}/{dataset_name}&tier=Cool
      Authorization: Bearer {access_token}
      Content-Type: application/json
      
  2. Сохраните operation_id из ответа 202 Accepted. Вам необходимо использовать это для отслеживания операции.

    {
      "operation_id": "c3d282e6-e7d1-40d8-8ac2-edc15b6d174c"
    }
    

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

После запуска операции изменения уровня, опросите конечную точку для отслеживания состояния.

  1. Опрашивайте конечную точку состояния с operation_id до тех пор, пока status не станет Completed или Failed:

    GET <instance>.energy.azure.com/seistore-svc/api/v3/operation/change-tier/{operation_id}
    Authorization: Bearer {access_token}
    data-partition-id: {data_partition_id}
    
  2. Проверьте поле status в ответе. Во время выполнения операции:

    {
      "operation_id": "c3d282e6-e7d1-40d8-8ac2-edc15b6d174c",
      "created_at": "2026-03-10T06:15:00Z",
      "created_by": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
      "last_updated_at": "2026-03-10T06:17:30Z",
      "status": "Running",
      "dataset_cnt": 500,
      "completed_cnt": 342,
      "failed_cnt": 0,
      "target_tier": "Cool"
    }
    

    После завершения status операции изменится на Completed. Проверьте failed_cnt на частичные сбои.

    {
      "operation_id": "c3d282e6-e7d1-40d8-8ac2-edc15b6d174c",
      "created_at": "2026-03-10T06:15:00Z",
      "created_by": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
      "last_updated_at": "2026-03-10T06:25:00Z",
      "status": "Completed",
      "dataset_cnt": 500,
      "completed_cnt": 497,
      "failed_cnt": 3,
      "target_tier": "Cool"
    }
    

Получение сведений о сбое

Используйте параметр show_details=true, чтобы получить сведения об ошибке для каждого набора данных, которые потерпели неудачу во время изменения уровня.

  1. Добавьте show_details=true в запрос состояния:

    GET <instance>.energy.azure.com/seistore-svc/api/v3/operation/change-tier/{operation_id}?show_details=true&limit=100
    Authorization: Bearer {access_token}
    data-partition-id: {data_partition_id}
    

    Следующие параметры запроса управляют ответом:

    Параметр Обязательный Тип Описание
    show_details Нет булевый Чтобы включить массив true в ответ, установите failed_datasets. По умолчанию: false.
    limit Нет целое число (1–1000) Максимальное количество ошибочных наборов данных к возврату на страницу. По умолчанию: 100. Применимо только в случае, если show_details=true.
    cursor Нет струна Курсор, закодированный безопасным для URL методом Base64, из предыдущего ответа, чтобы получить следующую страницу сбоев.
  2. Проверьте массив failed_datasets в ответе.

    {
      "operation_id": "c3d282e6-e7d1-40d8-8ac2-edc15b6d174c",
      "created_at": "2026-03-10T08:00:00Z",
      "created_by": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
      "last_updated_at": "2026-03-10T08:45:00Z",
      "status": "CompletedWithErrors",
      "dataset_cnt": 2000,
      "completed_cnt": 1994,
      "failed_cnt": 6,
      "target_tier": "Cold",
      "failed_datasets": [
        {
          "sdpath": "sd://opendes/project-alpha/seismic/survey-2024-001",
          "error": "Failed to change tier for 12 blob(s)"
        },
        {
          "sdpath": "sd://opendes/project-alpha/seismic/survey-2024-002",
          "error": "Access denied: user is not authorized to modify this dataset (ACL validation failed)"
        },
        {
          "sdpath": "sd://opendes/project-alpha/seismic/survey-2024-003",
          "error": "Failed to acquire lock"
        },
        {
          "sdpath": "sd://opendes/project-alpha/seismic/survey-2024-004",
          "error": "Dataset has no associated storage location"
        },
        {
          "sdpath": "sd://opendes/project-alpha/seismic/survey-2024-005",
          "error": "Dataset storage location has invalid format"
        },
        {
          "sdpath": "sd://opendes/project-alpha/seismic/survey-2024-006",
          "error": "Tier changed but metadata update failed after retries"
        }
      ],
      "cursor": "ZXlKamIyNTBhVzUxWVhScGIyNVViMnRsYmlJNkltVjRZVzF3YkdVaWZRPT0"
    }
    

    Если ответ содержит значение cursor, передайте его в следующем запросе для получения следующей страницы сбоев.

Политики хранения уровня хранилища

Каждый уровень хранилища применяет минимальный срок хранения. При перемещении данных с более холодного уровня на более теплый уровень до истечения срока хранения может применяться плата за досрочное удаление.

Уровень Минимальный срок хранения
Горячий Нет
Классно 30 дней
Холодный 90 дней

Следуйте этим рекомендациям при управлении изменениями уровня хранилища.

  • Перед изменением уровней используйте API списка наборов данных, чтобы определить, какие наборы данных являются кандидатами на изменение уровня перед началом массовой операции.
  • Соблюдайте сроки хранения. Перемещение данных из уровней "Cool" или "Cold" до минимального периода хранения влечет санкции за преждевременное удаление.
  • Контролируйте выполнение операций до завершения—Всегда опрашивайте состояние операции до тех пор, пока status не будет Completed или Failed. Не принимайте 202 Accepted за успех сразу после ответа.
  • Обработайте ошибки корректно. Используйте show_details=true для получения сведений об ошибках набора данных и первопричин (разрешения, отсутствующие большие двоичные объекты, нарушения хранения) перед повторным повтором.
  • Планируйте изменения задержки при доступе — наборы данных в прохладных и холодных уровнях могут иметь более высокую задержку первого байта. Убедитесь, что нижестоящие потребители знают о потенциальной задержке.

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

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