Tutorial: Gestionar los calendarios de análisis sísmicos y descargar informes

Importante

Esta funcionalidad actualmente está en su versión preliminar. Consulte Términos de uso complementarios 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 la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.

Este tutorial demuestra cómo utilizar la operación Seismic DDMS Analytics en Azure Data Manager for Energy para crear calendarios analíticos recurrentes de tus datos sísmicos, listar y descargar los informes generados, y eliminar los calendarios que ya no necesitas. Los análisis programados te ayudan a hacer un seguimiento del consumo de almacenamiento y de los patrones de acceso a los datos entre subproyectos y tenants a lo largo del tiempo, para que puedas planificar la capacidad y optimizar los costes de almacenamiento sin construir una cadena de informes personalizada. Un trabajo en segundo plano calcula las estadísticas solicitadas en una cadencia recurrente y escribe cada informe en Azure Blob Storage. Puedes descargar los datos del informe directamente desde el almacenamiento, y estos nunca pasan a través del servicio.

En este tutorial, obtendrá información sobre cómo:

  • Crea una programación de análisis para un subproyecto o un inquilino
  • Enumera las programaciones de análisis y los informes generados
  • Descarga un informe con una URL de SAS de corta duración
  • Eliminar una programación de análisis

Prerequisites

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

  • Una suscripción a Azure.
  • 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, datamanager o tenant.admin asignado a tu cuenta de usuario, según el alcance.
  • Un token de portador para la autentificación de API. Cuando utilices DefaultAzureCredential, solicita el https://energy.azure.com/.default ámbito. Consulte Cómo generar el token de autenticación.
  • El data-partition-id de tu inquilino. Un valor que falta devuelve 400 BAD_REQUEST.

Comprender los ámbitos de análisis

Los trabajos de analítica funcionan en uno de dos ámbitos. El alcance determina qué conjuntos de datos se miden y qué rol se requiere.

Ámbito ¿Qué mide? Cómo lo configuras Rol obligatorio
Subproyecto Un único subproyecto dentro de la partición name en el cuerpo de la solicitud (crear), o subprojectid en la ruta de URL subproject.admin, datamanager o tenant.admin
Inquilino La partición de datos completa name vacío u omitido (crear), o las /tenant/... rutas datamanager o tenant.admin

Cada programación almacena tres ajustes: el statistics que se va a calcular, el día de la semana de la primera ejecución (first_execution) y la frecuencia de repetición en días (freq_execution). La API utiliza /job endpoints para las operaciones de programación. Una tarea en segundo plano lee las programaciones y escribe los informes en el contenedor sdms-analytics-reports utilizando la estructura de ruta <subproject>/YYYY/MM/DD/.

Enviar una programación de análisis

Envía una PUT solicitud con un array JSON que contenga un único objeto de programación. Omitir name (o enviar una cadena vacía) para crear un calendario a nivel del tenant; proporcionar un subproyecto name para definir el calendario de ese subproyecto.

El cuerpo de la solicitud admite los siguientes campos:

Field Required Type Description
name No string Nombre del subproyecto. Cuando está vacío o se omite, la programación se crea en el ámbito del tenant y se establece de forma predeterminada en el data-partition-id.
statistics Yes string Lista de estadísticas separadas por comas a calcular. Se elimina el espacio en blanco y el valor se convierte a minúsculas antes de almacenarlo.
first_execution No entero (1–7) Día de la semana para la primera ejecución. Por defecto se ajusta al día actual. Los valores fuera de 1–7 devuelven 400 BAD_REQUEST.
freq_execution No entero (>0) Frecuencia de ejecución en días. Tiene como valor predeterminado 7.
  1. Envíe la solicitud. Para un calendario de subproyecto, incluye el subproyecto name:

    PUT https://<instance>.energy.azure.com/seistore-svc/api/v3/analytics/job
    Authorization: Bearer {access_token}
    data-partition-id: {data_partition_id}
    Content-Type: application/json
    
    [
      {
        "name": "{subproject_name}",
        "statistics": "count,size",
        "first_execution": 1,
        "freq_execution": 7
      }
    ]
    

    Para una programación en el nivel de cliente, omite name:

    PUT https://<instance>.energy.azure.com/seistore-svc/api/v3/analytics/job
    Authorization: Bearer {access_token}
    data-partition-id: {data_partition_id}
    Content-Type: application/json
    
    [
      {
        "statistics": "count,size",
        "freq_execution": 7
      }
    ]
    
  2. Revisa la programación normalizada que aparece en la respuesta. El campo type es subproject para una programación de subproyecto y partition para una programación en el nivel de cliente. El first_execution campo se devuelve como una marca de tiempo para la siguiente ejecución programada:

    [
      {
        "name": "{subproject_name}",
        "type": "subproject",
        "statistics": "count,size",
        "first_execution": 1743552000000,
        "freq_execution": 7
      }
    ]
    

El servicio crea la programación de análisis periódica para el ámbito seleccionado. Pide solo las estadísticas que necesitas y configura freq_execution para que coincida con la frecuencia con la que consumes informes.

Recuperar programaciones de análisis

Haz una llamada al endpoint de horarios para ver los horarios que puedes ver. Los usuarios con el tenant.admin rol o datamanager reciben la lista completa. Un usuario con el subproject.admin rol solo recibe las programaciones de los subproyectos que puede administrar.

  1. Envíe la solicitud.

    GET https://<instance>.energy.azure.com/seistore-svc/api/v3/analytics/job
    Authorization: Bearer {access_token}
    data-partition-id: {data_partition_id}
    
  2. Revisa las programaciones devueltas.

    [
      {
        "name": "{subproject_name}",
        "type": "subproject",
        "statistics": "count,size",
        "first_execution": 1743552000000,
        "freq_execution": 7
      }
    ]
    

La respuesta contiene los calendarios analíticos que tu rol asignado puede consultar.

Recuperar informes generados

Los informes están disponibles tras completar la primera ejecución programada. Recupera informes para un único subproyecto o para todo el inquilino y, si lo deseas, filtra los resultados por fecha.

Los siguientes parámetros de consulta controlan las solicitudes de report-list y URL SAS:

Parameter Required Type Description
filter-date No string Restringe los resultados por fecha. Debe ser YYYY, YYYY-MM o YYYY-MM-DD. Cualquier otro formato devuelve 400 BAD_REQUEST.
extension No string Selecciona un contenedor de informes alternativos llamado sdms-analytics-reports-<extension>. Debe contener solo caracteres alfanuméricos minúsculos y guiones, sin guiones consecutivos, y el nombre combinado del contenedor no debe superar los 63 caracteres.
  1. Para listar informes de un subproyecto, llama a la ruta del subproyecto:

    GET https://<instance>.energy.azure.com/seistore-svc/api/v3/analytics/job/{subprojectid}?filter-date=2026-09
    Authorization: Bearer {access_token}
    data-partition-id: {data_partition_id}
    

    Para listar los informes de todo el tenant, llama a la ruta del tenant:

    GET https://<instance>.energy.azure.com/seistore-svc/api/v3/analytics/tenant/job?filter-date=2026
    Authorization: Bearer {access_token}
    data-partition-id: {data_partition_id}
    
  2. Revisa la lista de rutas de blobs de informes en la respuesta:

    [
      "{subproject_name}/2026/09/15/{report_file_name}",
      "{subproject_name}/2026/09/22/{report_file_name}"
    ]
    

La respuesta contiene las rutas de blob de informe que coinciden con el alcance y el filtro de fecha seleccionados. Usa el filter-date más específico que se adapte a tus necesidades para reducir el número de rutas devueltas.

Descarga un informe con una URL SAS

Los datos del informe nunca fluyen a través del servicio. En su lugar, solicita una credencial SAS de corta duración desde el /connection-string endpoint y luego utiliza la URL SAS retornada para leer los blobs de informe directamente desde Azure Blob Storage. El filter-date que suministras se añade a la ruta de almacenamiento, así que una fecha más específica restringe el ámbito de la credencial a un conjunto más reducido de blobs. También puedes usar el extension parámetro descrito en la sección anterior para dirigirte a un contenedor de informes alternativos.

  1. Para solicitar una URL SAS para un informe de subproyecto, llama a la ruta del subproyecto:

    GET https://<instance>.energy.azure.com/seistore-svc/api/v3/analytics/job/{subprojectid}/connection-string?filter-date=2026-09-15
    Authorization: Bearer {access_token}
    data-partition-id: {data_partition_id}
    

    Para solicitar una URL SAS para un informe de tenant, llama a la ruta de tenant:

    GET https://<instance>.energy.azure.com/seistore-svc/api/v3/analytics/tenant/job/connection-string?filter-date=2026-09
    Authorization: Bearer {access_token}
    data-partition-id: {data_partition_id}
    
  2. Revise la respuesta. Contiene access_token la URL SAS:

    {
      "access_token": "https://<account>.blob.core.windows.net/sdms-analytics-reports/...&sig=...",
      "expires_in": 3599,
      "token_type": "SasUrl"
    }
    
  3. Utiliza la URL SAS con el SDK de Azure Storage o la API REST para descargar la ruta del informe que seleccionaste en la sección anterior.

La URL SAS retornada proporciona acceso temporal a los blobs de informe para la ruta seleccionada y expira en poco menos de una hora. Trata la URL como un secreto: no la registres ni la almacenes, y pide una nueva cuando expire.

Eliminar una programación de análisis

Elimina una programación de análisis cuando ya no quieras que el servicio genere informes recurrentes para ese ámbito.

  1. Para eliminar un calendario de subproyecto, llama a la ruta del subproyecto:

    DELETE https://<instance>.energy.azure.com/seistore-svc/api/v3/analytics/job/{subprojectid}
    Authorization: Bearer {access_token}
    data-partition-id: {data_partition_id}
    

    Para eliminar una programación de inquilino, llama a la ruta del inquilino:

    DELETE https://<instance>.energy.azure.com/seistore-svc/api/v3/analytics/tenant/job
    Authorization: Bearer {access_token}
    data-partition-id: {data_partition_id}
    
  2. Confirma que la solicitud devuelve 200 OK. La eliminación de una programación que no existe también se realiza con éxito, por lo que es seguro volver a intentar la operación.

El calendario de análisis se elimina y el servicio deja de generar informes recurrentes para ese ámbito.

Limpieza de recursos

Este tutorial no aprovisiona un recurso nuevo de Azure. Para evitar que se generen informes futuros, elimina la programación de Analytics tal y como se describe en Eliminar una programación de Analytics.