Tutorial: Cambio del nivel de almacenamiento de conjuntos de datos sísmicos

Importante

Esta característica está actualmente en versión preliminar y está disponible de forma predeterminada en la SKU para desarrolladores. Consulte los términos Supplementales de uso para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en versión beta, versión preliminar o, de lo contrario, aún no se han publicado en disponibilidad general.

Utilice la operación Seismic DDMS Change Tier en Azure Data Manager for Energy para mover conjuntos de datos entre los niveles de almacenamiento frecuente, esporádico y en reposo en función de la frecuencia de acceso. Mover los datos de acceso poco frecuente a niveles más fríos reduce los costos de almacenamiento, mientras que mantener los conjuntos de datos activos en el nivel caliente garantiza un rendimiento óptimo. Esta operación es especialmente valiosa para la administración de datos sísmicos, donde los grandes volúmenes de datos históricos deben permanecer disponibles para el análisis o el cumplimiento futuros, pero no requieren acceso frecuente.

En este tutorial, aprenderá a:

  • Iniciar una operación de cambio de nivel para un conjunto de datos o ruta de acceso
  • Supervisión del estado de la operación de cambio de nivel
  • Recuperación de detalles de errores para conjuntos de datos con errores

Descripción de los niveles de almacenamiento

Seismic DDMS admite los siguientes niveles de almacenamiento, que se asignan a las clases de almacenamiento del proveedor de nube subyacentes:

Nivel Frecuencia de acceso Latencia de acceso Coste del almacenamiento Caso de uso
Caliente Acceso frecuente Milisegundos El más alto Proyectos activos, adquisiciones recientes
genial Acceso con poca frecuencia (más de 30 días) Milisegundos Minúsculas Proyectos completados, reprocesamiento periódico
Frío Acceso poco frecuente (más de 90 días) Milisegundos a horas El más bajo Almacenamiento a largo plazo, cumplimiento normativo

Cada nivel tiene un período de retención mínimo. Mover los datos fuera de un nivel antes de que transcurre el período de retención mínimo podría incurrir en cargos de eliminación anticipada.

Prerrequisitos

Antes de comenzar, asegúrese de cumplir los siguientes requisitos previos:

  • Un recurso de Azure Data Manager for Energy con Seismic DDMS configurado.
  • Un tenant registrado y subproject en el servicio Seismic DDMS.
  • El rol subproject.admin asignado a tu cuenta de usuario.
  • Un token de portador para la autentificación de API. Consulte Cómo generar el token de autenticación.
  • Al menos un conjunto de datos registrado en el subproyecto de destino.

Iniciar una operación de cambio de nivel

Antes de enviar la solicitud, pause todas las operaciones de escritura y eliminación en la ruta de acceso de destino. Agregar o eliminar conjuntos de datos mientras una operación de nivel de cambio está en curso puede provocar resultados incoherentes.

  1. Envíe una solicitud PUT con la ruta de acceso y el nivel de destino. Use un final / para las rutas de acceso de directorio (por ejemplo, sd://tenant/subproject/a/b/c/) y ninguna barra diagonal final para un único conjunto de datos (por ejemplo, sd://tenant/subproject/a/b/c/dataset-name):

    • Todos los conjuntos de datos de una ruta:

      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
      
    • Conjunto de datos único:

      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. Guarde el operation_id de la respuesta 202 Accepted. Lo necesita para supervisar la operación.

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

Supervisión del estado de la operación

Después de iniciar la operación de cambio de nivel, sondee el punto de conexión de estado para realizar el seguimiento del progreso.

  1. Sondee el punto de conexión de estado con operation_id hasta que status sea Completed o 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. Compruebe el status campo en la respuesta. Mientras se ejecuta la operación:

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

    Cuando finalice la operación, status cambie a Completed. Compruebe failed_cnt si hay errores parciales:

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

Recuperación de los detalles del error

Use el show_details=true parámetro para obtener información de error por conjunto de datos para los conjuntos de datos que produzcan un error durante el cambio de nivel.

  1. Agregue show_details=true a la solicitud de estado:

    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}
    

    Los parámetros de consulta siguientes controlan la respuesta:

    Parámetro Obligatorio Tipo Descripción
    show_details No boolean Establézcalo en true para incluir la matriz failed_datasets en la respuesta. Predeterminado: false.
    limit No entero (1–1000) Número máximo de conjuntos de datos con errores que se devuelven por página. Predeterminado: 100. Solo se aplica cuando show_details=true.
    cursor No cuerda / cadena Cursor codificado con la dirección URL de Base64 de una respuesta anterior para recuperar la página siguiente de errores.
  2. Revise la failed_datasets matriz en la respuesta:

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

    Si la respuesta incluye un cursor valor, páselo en la siguiente solicitud para recuperar la página siguiente de errores.

Directivas de retención de niveles de almacenamiento

Cada nivel de almacenamiento aplica un período de retención mínimo. Si mueve datos de un nivel más frío a un nivel más cálido antes de que expire el período de retención, podrían aplicarse tarifas de eliminación anticipada.

Nivel Período de retención mínimo
Caliente Ninguno
genial 30 días
Frío 90 días

Siga estos procedimientos al administrar los cambios en el nivel de almacenamiento:

  • Auditar antes de cambiar los niveles: use la API de lista de conjuntos de datos para identificar qué conjuntos de datos son candidatos para los cambios de nivel antes de iniciar una operación masiva.
  • Respetar los períodos de retención: mover los datos fuera de los niveles Cool o Cold antes de que el período de retención mínimo incurra en cargos por eliminación anticipada.
  • Supervisión de las operaciones hasta la finalización: sondee siempre el estado de la operación hasta que status sea Completed o Failed. No dé por sentado el éxito después de la respuesta 202 Accepted.
  • Gestión correcta de los errores: use show_details=true para recuperar la información de error por conjunto de datos y solucionar las causas principales (permisos, falta de blobs, infracciones de retención) antes de volverlo a intentar.
  • Planificación de cambios de latencia de acceso: los conjuntos de datos en los niveles esporádico y en reposo pueden tener una mayor latencia del primer byte. Asegúrese de que los consumidores aguas abajo conozcan los posibles aumentos de latencia.

Limpieza de recursos

No hay recursos facturables Azure creados en este tutorial. Si ha cambiado los niveles de almacenamiento con fines de prueba, restáurelos ejecutando otra operación de nivel de cambio.