チュートリアル: 地震データセットのストレージ層を変更する

Important

この機能は現在プレビュー段階であり、Developer SKU では既定で使用できます。 Azureのベータ版、プレビュー版、および一般公開されていない機能に適用される法的条件については、Microsoft Azure プレビューの補足利用規約を参照してください。

Azure Data Manager for Energy の Seismic DDMS 変更層操作を使用して、アクセス頻度に基づいて、Hot、クール、および Cold ストレージ層の間でデータセットを移動します。 アクセス頻度の低いデータをクール層に移動すると、ストレージ コストが削減され、アクティブなデータセットはホット 層に保持されるため、最適なパフォーマンスが確保されます。 この操作は、今後の分析やコンプライアンスのために大量の履歴データを引き続き使用できる必要があるが、頻繁にアクセスする必要がない地震データ管理に特に価値があります。

このチュートリアルで学習する内容は次のとおりです。

  • データセットまたはパスの変更階層操作を開始する
  • 階層の変更操作の状態を監視する
  • 失敗したデータセットのエラーの詳細を取得する

ストレージ層について

Seismic DDMS では、基になるクラウド プロバイダーのストレージ クラスにマップされる次のストレージ層がサポートされています。

レベル アクセス頻度 アクセス待ち時間 ストレージのコスト 利用シーン
暑い 頻繁にアクセスされる ミリ秒 最高 アクティブなプロジェクト、最近の買収
涼しい アクセス頻度が低い (30 日以上) ミリ秒 下 完了したプロジェクト、定期的な再処理
寒い ほとんどアクセスされない (90 日以上) ミリ秒を時間に変換 最低 長期保存、規制コンプライアンス

各レベルには、最小保有期間があります。 最小保有期間が経過する前に層からデータを移動すると、早期削除料金が発生する可能性があります。

前提条件

開始する前に、以下の前提条件を満たしていることを確認してください。

  • Seismic DDMS が構成されたエネルギー リソースのAzure データ マネージャー。
  • Seismic DDMS サービスに登録された tenant および subproject 。
  • ユーザー アカウントに割り当てられている subproject.admin ロール。
  • API 認証のベアラー トークン。 認証トークンを生成する方法を参照してください。
  • ターゲット サブプロジェクトに少なくとも 1 つのデータセットが登録されています。

階層変更操作を開始する

要求を送信する前に、ターゲット パスに対するすべての書き込み操作と削除操作を一時停止します。 変更レベルの操作の進行中にデータセットを追加または削除すると、結果が一貫性がなくなる可能性があります。

  1. パスとターゲット層を使用して PUT 要求を送信します。 ディレクトリ パス (たとえば、/) には末尾のsd://tenant/subproject/a/b/c/を使用し、1 つのデータセットに末尾のスラッシュは使用しません (たとえば、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"
    }
    

    操作が完了すると、statusCompletedに変わります。 部分的な障害について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 いいえ integer (1 ~ 1000) ページごとに返される失敗したデータセットの最大数。 既定値: 100。 show_details=trueの場合にのみ適用されます。
    cursor いいえ 文字列 以前の応答から取得した Base64 URL セーフエンコードされたカーソルを使用して、エラーの次のページを取得します。
  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 を使用して、層の変更の候補となるデータセットを特定します。
  • 保持期間を考慮する - 最小保有期間の前にクール層またはコールド 層からデータを移動すると、早期削除料金が発生します。
  • 操作の完了を監視する - status が Completed または Failedされるまで、常に操作の状態をポーリングします。 202 Accepted応答の後に成功を想定しないでください。
  • エラーを適切に処理する - show_details=true を使用して、データセットごとのエラー情報を取得し、再試行する前に根本原因 (アクセス許可、不足している BLOB、保持違反) に対処します。
  • アクセス待機時間の変更を計画する - クール層とコールド層のデータセットでは、最初のバイト待機時間が長くなる可能性があります。 ダウンストリーム コンシューマーが潜在的な待機時間の増加を認識していることを確認します。

リソースをクリーンアップする

このチュートリアルでは、課金対象のAzureリソースは作成されません。 テスト目的でストレージ層を変更した場合は、別の変更レベル操作を実行して復元します。