Tutorial: Gerir agendamentos de análise sísmica e descarregar relatórios

Important

Esta funcionalidade está atualmente em pré-visualização. Consulte os Termos de Utilização Complementares das Visualizações Prévias do Microsoft Azure para obter os termos legais que se aplicam às funcionalidades do Azure que estão em beta, em pré-visualização ou que ainda não foram lançadas para disponibilidade geral.

Este tutorial demonstra como utilizar a operação Seismic DDMS Analytics no Azure Data Manager for Energy para criar agendamentos recorrentes de análises para os seus dados sísmicos, listar e descarregar os relatórios gerados e eliminar os agendamentos de que já não precisa. As análises agendadas ajudam-no a acompanhar o consumo de armazenamento e os padrões de acesso a dados entre subprojetos e tenants ao longo do tempo, para que possa planear a capacidade e otimizar custos de armazenamento sem construir um pipeline de relatórios personalizado. Um trabalho em segundo plano calcula as estatísticas solicitadas numa cadência recorrente e escreve cada relatório no Armazenamento de Blobs do Azure. Descarregas os dados do relatório diretamente do armazenamento e estes nunca passam pelo serviço.

Neste tutorial, aprenderás como:

  • Crie um cronograma analítico para um subprojeto ou um tenant
  • Liste agendamentos analíticos e relatórios gerados
  • Descarregue um relatório com uma URL SAS de curta duração
  • Eliminar um agendamento analítico

Prerequisites

Antes de começar, certifique-se de atender aos seguintes pré-requisitos:

  • Uma assinatura do Azure.
  • Um recurso do Azure Data Manager for Energy com o Seismic DDMS configurado.
  • Registado tenant e subproject no serviço de DDMS sísmico.
  • A função subproject.admin, datamanager ou tenant.admin atribuída à sua conta de utilizador, dependendo do âmbito.
  • Um token portador para autenticação por API. Quando usares DefaultAzureCredential, pede o âmbito https://energy.azure.com/.default. Veja Como gerar token de autenticação.
  • O data-partition-id do teu inquilino. Um valor em falta devolve 400 BAD_REQUEST.

Compreender os âmbitos de análise

As tarefas de análise são executadas num de dois âmbitos. O âmbito determina que conjuntos de dados são medidos e qual o papel necessário.

Scope O que mede Como o direcionas Função necessária
Subprojeto Um único subprojeto dentro da partição name no corpo do pedido (criar), ou subprojectid no caminho da URL subproject.admin, datamanager ou tenant.admin
Inquilino Toda a partição de dados Vazio ou omitido name (criar), ou /tenant/... rotas datamanager ou tenant.admin

Cada agendamento armazena três definições: o valor statistics a calcular, o dia da semana para a primeira execução (first_execution) e a frequência com que se repete em dias (freq_execution). A API utiliza /job endpoints para operações de agendamento. Um trabalho em segundo plano lê os agendamentos e escreve relatórios no contentor sdms-analytics-reports usando o esquema de caminho <subproject>/YYYY/MM/DD/.

Submeta um cronograma de análises

Submeta um PUT pedido com um array JSON que contenha um único objeto de agendamento. Omita name (ou envie uma cadeia vazia) para criar um agendamento ao nível do tenant; forneça um subprojeto name para restringir o agendamento a esse subprojeto.

O corpo do pedido suporta os seguintes campos:

Campo Required Tipo Description
name No cadeia (de caracteres) Nome do subprojeto. Quando vazio ou omitido, o agendamento é criado no âmbito do tenant e assume por predefinição o data-partition-id.
statistics Yes cadeia (de caracteres) Lista separada por vírgulas de estatísticas a calcular. O espaço em branco é removido e o valor é convertido para minúsculas antes do armazenamento.
first_execution No inteiro (1–7) Dia da semana da primeira execução. Por defeito, é o dia atual. Valores fora de 1–7 devolvem 400 BAD_REQUEST.
freq_execution No inteiro (>0) Frequência de execução em dias. O valor padrão é 7.
  1. Submeta o pedido. Para um cronograma de subprojeto, inclua o subprojeto 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 um agendamento para todo o locatário, omita 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. Revise o cronograma normalizado devolvido na resposta. O type campo é subproject para um cronograma de subprojeto e partition para um cronograma ao nível do tenant. O first_execution campo é devolvido como um carimbo temporal para a próxima execução agendada:

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

O serviço cria o agendamento recorrente de análises para o contexto selecionado. Pede apenas as estatísticas de que precisas e define freq_execution para corresponder à frequência com que consomes relatórios.

Obter cronogramas de analítica

Invoca o endpoint schedules para veres os horários que podes ver. Os utilizadores com a função tenant.admin ou datamanager recebem a lista completa. Um utilizador com a subproject.admin função recebe apenas os cronogramas dos subprojetos que pode administrar.

  1. Submeta o pedido.

    GET https://<instance>.energy.azure.com/seistore-svc/api/v3/analytics/job
    Authorization: Bearer {access_token}
    data-partition-id: {data_partition_id}
    
  2. Revise os agendamentos devolvidos pelo sistema.

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

A resposta contém os cronogramas de análise que o seu perfil atribuído pode consultar.

Recuperar relatórios gerados

Os relatórios ficam disponíveis após a conclusão da primeira execução agendada. Recupere os relatórios de um único subprojeto ou de todo o tenant, e opcionalmente reduza os resultados por data.

Os seguintes parâmetros de consulta controlam a lista de relatórios e os pedidos de URL SAS:

Parameter Required Tipo Description
filter-date No cadeia (de caracteres) Restringe os resultados por data. Deve ser YYYY, YYYY-MM, ou YYYY-MM-DD. Qualquer outro formato devolve 400 BAD_REQUEST.
extension No cadeia (de caracteres) Seleciona um contentor de relatórios alternativos chamado sdms-analytics-reports-<extension>. Deve conter apenas caracteres alfanuméricos minúsculos e hífens, sem hífens consecutivos, e o nome combinado do contentor não deve exceder 63 caracteres.
  1. Para listar relatórios de um subprojeto, chame a rota do subprojeto:

    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 os relatórios de todo o tenant, chame a rota do 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. Revise a lista de caminhos de blob de relatório na resposta:

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

A resposta contém os caminhos dos blobs do relatório que correspondem ao filtro de âmbito e data selecionados. Utilize o mais específico filter-date que satisfaça as suas necessidades para reduzir o número de caminhos devolvidos.

Descarregue um relatório com uma URL SAS

Os dados do relatório nunca passam pelo serviço. Em vez disso, peça uma credencial SAS de curta duração ao /connection-string endpoint e depois use o URL SAS devolvido para ler os blobs de relatório diretamente do Armazenamento de Blobs do Azure. O filter-date que fornece é acrescentado ao caminho de armazenamento, por isso uma data mais específica restringe a credencial a um conjunto mais restrito de blobs. Também pode usar o extension parâmetro descrito na secção anterior para direcionar um contentor alternativo de relatórios.

  1. Para solicitar um URL SAS para um relatório de subprojeto, chame a rota do subprojeto:

    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 um URL SAS para um relatório de tenant, chame a rota do 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. Veja a resposta. Contém access_token a URL SAS:

    {
      "access_token": "https://<account>.blob.core.windows.net/sdms-analytics-reports/...&sig=...",
      "expires_in": 3599,
      "token_type": "SasUrl"
    }
    
  3. Utilize o URL SAS com o Armazenamento do Azure SDK ou a API REST para descarregar o caminho do relatório que selecionou na secção anterior.

O URL SAS devolvido fornece acesso temporário aos blobs de relatório para o caminho selecionado e expira em pouco menos de uma hora. Trate o URL como um segredo: não o registe nos logs nem o armazene, e peça um novo depois de expirar.

Eliminar um agendamento de análises

Elimine um agendamento de análises quando já não quiser que o serviço gere relatórios recorrentes para esse escopo.

  1. Para eliminar um agendamento de subprojeto, chame a rota do subprojeto:

    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 um agendamento de tenant, invoque a rota de tenant:

    DELETE https://<instance>.energy.azure.com/seistore-svc/api/v3/analytics/tenant/job
    Authorization: Bearer {access_token}
    data-partition-id: {data_partition_id}
    
  2. Confirme que a solicitação retorna 200 OK. Apagar um horário que não existe também é bem-sucedido, por isso a operação é segura para tentar novamente.

O agendamento de análises é eliminado e o serviço deixa de gerar relatórios recorrentes para esse âmbito.

Limpeza de recursos

Este tutorial não cria um novo recurso do Azure. Para evitar que futuros relatórios sejam gerados, elimine o cronograma analítico conforme descrito em Eliminar um cronograma analítico.