Tutorial: Gerencie cronogramas de análises sísmicas e baixe relatórios

Importante

Este recurso está atualmente em versão prévia. Veja os Termos de Uso Complementares para Versões Prévias do Microsoft Azure para obter termos legais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral.

Este tutorial demonstra como usar a operação Seismic DDMS Analytics no Azure Data Manager for Energy para criar cronogramas analíticos recorrentes para seus dados sísmicos, listar e baixar os relatórios gerados e excluir cronogramas que você não precisa mais. Análises programadas ajudam a acompanhar o consumo de armazenamento e os padrões de acesso a dados entre subprojetos e locatários ao longo do tempo, para que você possa planejar 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 em uma cadência recorrente e escreve cada relatório no Armazenamento de Blobs do Azure. Você baixa os dados do relatório diretamente do armazenamento, e eles nunca passam pelo serviço.

Neste tutorial, você aprenderá como:

  • Criar um agendamento de análise para um subprojeto ou um locatário
  • Listar agendamentos de análise e relatórios gerados
  • Baixe um relatório com uma URL SAS de curta duração
  • Excluir um agendamento de análise

Pré-requisitos

Antes de começar, verifique se você atende aos seguintes pré-requisitos:

  • Uma assinatura do Azure.
  • Um recurso do Azure Data Manager for Energy com o Seismic DDMS configurado.
  • Um tenant e um subproject registrados no serviço Seismic DDMS.
  • A função subproject.admin, datamanager ou tenant.admin atribuída à sua conta de usuário, dependendo do escopo.
  • Um token de portador para autenticação da API. Ao usar DefaultAzureCredential, solicite o escopo https://energy.azure.com/.default. Veja como gerar o token de autenticação.
  • O data-partition-id do seu locatário. Um valor faltante retorna 400 BAD_REQUEST.

Entendendo os escopos de análise

Os jobs de Analytics são executados em um de dois escopos. O escopo determina quais conjuntos de dados são medidos e qual papel é necessário.

Scope O que é medido Como segmentá-lo Função necessária
Subprojeto Um único subprojeto dentro da partição name no corpo da requisição (create), ou subprojectid no caminho da URL subproject.admin, datamanager ou tenant.admin
Tenant Toda a partição de dados vazio ou omitido name (criar), ou as rotas /tenant/... datamanager ou tenant.admin

Cada agendamento armazena três configurações: o statistics a ser calculado, o dia da semana para a primeira execução (first_execution) e a frequência de repetição em dias (freq_execution). A API utiliza /job endpoints para operações de agendamento. Um trabalho em segundo plano lê os cronogramas e grava relatórios no sdms-analytics-reports contêiner usando o layout <subproject>/YYYY/MM/DD/de caminho .

Envie um cronograma de analytics

Submeta uma PUT solicitação com um array JSON que contenha um único objeto de agendamento. Omita name (ou envie uma string vazia) para criar um agendamento para todo o locatário; Forneça um subprojeto name para delimitar o escopo do agendamento a esse subprojeto.

O corpo da solicitação suporta os seguintes campos:

Campo Required Tipo Description
name No cadeia Nome do subprojeto. Quando vazio ou omitido, o agendamento é criado no escopo do locatário e assume o valor padrão de data-partition-id.
statistics Sim cadeia Lista separada por vírgulas de estatísticas a serem calculadas. 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 para a primeira execução. O valor padrão é o dia atual. Valores fora de 1–7 retornam 400 BAD_REQUEST.
freq_execution No inteiro (>0) Frequência de execução em dias. Usa 7 como padrão.
  1. Envie a solicitação. 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 que abranja 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 a programação normalizada retornada na resposta. O campo type é subproject para um agendamento de subprojeto e partition para um agendamento que abranja todo o locatário. O first_execution campo é retornado como um carimbo de tempo 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 cronograma de análises recorrentes para o escopo selecionado. Peça apenas as estatísticas que você precisa e configure freq_execution para corresponder à frequência com que você consome relatórios.

Obter agendamentos de análise

Use o endpoint de cronogramas para ver os cronogramas que você pode visualizar. Usuários com a função tenant.admin ou datamanager recebem a lista completa. Um usuário com a função subproject.admin recebe apenas os cronogramas dos subprojetos que pode administrar.

  1. Envie a solicitação.

    GET https://<instance>.energy.azure.com/seistore-svc/api/v3/analytics/job
    Authorization: Bearer {access_token}
    data-partition-id: {data_partition_id}
    
  2. Revisar os cronogramas retornados.

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

A resposta contém os agendamentos de análise que sua função atribuída pode visualizar.

Recuperar relatórios gerados

Os relatórios ficam disponíveis após a conclusão da primeira execução agendada. Recupere 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 as requisições de URL SAS:

Parameter Required Tipo Description
filter-date No cadeia Restringe os resultados por data. Precisa ser YYYY, YYYY-MM ou YYYY-MM-DD. Qualquer outro formato retorna 400 BAD_REQUEST.
extension No cadeia Seleciona um contêiner 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 contêiner 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 locatário, chame a rota do locatário:

    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 blobs 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 de relatório que correspondem ao escopo e ao filtro de data selecionados. Use o filter-date mais específico que atenda às suas necessidades para reduzir o número de caminhos retornados.

Baixe um relatório com uma URL do SAS

Os dados do relatório nunca passam pelo serviço. Em vez disso, solicite uma credencial SAS de curta duração do /connection-string endpoint e use a URL SAS retornada para ler os blobs de relatório diretamente do Armazenamento de Blobs do Azure. O filter-date que você fornece é adicionado ao caminho de armazenamento, então uma data mais específica escopa a credencial para um conjunto mais restrito de blobs. Você também pode usar o extension parâmetro descrito na seção anterior para direcionar um contêiner alternativo de relatórios.

  1. Para solicitar uma 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 uma 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. Examine a resposta. O access_token contém a URL do SAS:

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

A URL SAS retornada fornece acesso temporário aos blobs de relatório para o caminho selecionado e expira em pouco menos de uma hora. Trate a URL como um segredo: não a registre nem a persista, e peça uma nova depois que ela expirar.

Exclua um cronograma de analytics

Exclua um cronograma de análise quando não quiser mais que o serviço gere relatórios recorrentes para esse escopo.

  1. Para excluir um cronograma 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 excluir um cronograma de tenant, chame 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. A exclusão de um agendamento que não existe também é bem-sucedida, portanto, a operação pode ser repetida com segurança.

O agendamento de análises é excluído, e o serviço não gera mais relatórios recorrentes para esse escopo.

Limpar os recursos

Este tutorial não provisiona um novo recurso do Azure. Para evitar que futuros relatórios sejam gerados, exclua o cronograma de análises conforme descrito em Excluir um cronograma de análise.