튜토리얼: Seismic 분석 일정을 관리하고 보고서 다운로드

Important

이 기능은 현재 미리 보기로 제공됩니다. 베타, 미리 보기로 제공되거나 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 약관은 Microsoft Azure 미리 보기에 대한 추가 사용 약관을 참조하세요.

이 튜토리얼은 Azure Data Manager for Energy의 Seismic DDMS Analytics 작업을 사용하여 지진 데이터에 대한 반복 분석 일정을 생성하고, 생성된 보고서를 나열 및 다운로드하며, 더 이상 필요하지 않은 일정을 삭제하는 방법을 보여줍니다. 예약된 분석은 서브프로젝트와 테넌트 간 스토리지 사용량과 데이터 접근 패턴을 시간에 따라 추적할 수 있게 해주어, 맞춤형 보고 파이프라인을 구축하지 않고도 용량을 계획하고 스토리지 비용을 최적화할 수 있습니다. 백그라운드 작업은 반복 주기에 따라 요청된 통계를 계산하고 각 보고서를 Azure Blob Storage에 기록합니다. 저장소에서 직접 보고서 데이터를 다운로드하며, 데이터가 서비스를 거치지 않습니다.

이 튜토리얼에서는 다음을 배우게 됩니다:

  • 하위 프로젝트나 테넌트에 대한 분석 일정을 작성하세요
  • 분석 일정 및 생성된 보고서 목록
  • 유효 기간이 짧은 SAS URL을 사용하여 보고서 다운로드
  • 분석 일정을 삭제하세요

Prerequisites

시작하기 전에 다음 필수 조건을 충족하는지 확인합니다.

  • Azure 구독입니다.
  • Seismic DDMS가 구성된 Azure Data Manager for Energy 리소스입니다.
  • Seismic DDMS 서비스에 등록된 tenant 및 subproject입니다.
  • 범위에 따라 사용자 계정에 할당된 subproject.admin, datamanager 또는 tenant.admin 역할
  • API 인증을 위한 전달자 토큰입니다. DefaultAzureCredential를 사용할 때 https://energy.azure.com/.default 범위를 요청하세요. 인증 토큰 생성 방법을 참조하세요.
  • 테넌트의 data-partition-id. 값이 없으면 400 BAD_REQUEST이(가) 반환됩니다.

분석 범위 이해하기

분석 작업은 두 가지 범위 중 하나에서 실행됩니다. 범위는 어떤 데이터셋을 측정하고 어떤 역할이 필요한지 결정합니다.

Scope 측정한 내용 대상을 지정하는 방법 필수 역할
하위 프로젝트 파티션 내의 단일 하위 프로젝트 요청 본문(생성)의 name 또는 URL 경로의 subprojectid subproject.admin, datamanager 또는 tenant.admin
테 넌 트 전체 데이터 파티션 비어 있거나 생략된 name (생성), 또는 /tenant/... 경로 datamanager 또는 tenant.admin

각 스케줄은 세 가지 설정을 저장합니다: 계산 대상 statistics, 첫 번째 실행 요일(first_execution), 그리고 일수 단위로 반복되는 빈도(freq_execution). API는 스케줄 작업을 위해 /job 엔드포인트를 사용합니다. 백그라운드 작업은 스케줄을 읽고 경로 레이아웃 sdms-analytics-reports을 사용하여 컨테이너 <subproject>/YYYY/MM/DD/에 보고서를 작성합니다.

분석 일정표를 제출하세요

단일 스케줄 객체를 포함하는 JSON 배열로 요청을 제출하세요 PUT . 테넌트 전체에 적용되는 일정을 생성하려면 name를 생략하거나 빈 문자열로 전송하고, 특정 하위 프로젝트로 일정의 범위를 제한하려면 해당 하위 프로젝트 name를 지정합니다.

요청 본문은 다음 필드를 지원합니다:

Field Required Type Description
name No string 하위 프로젝트 이름. 비어 있거나 생략된 경우, 일정은 테넌트 범위에서 생성되고 data-partition-id가 기본값으로 설정됩니다.
statistics Yes string 계산할 쉼표로 구분된 통계량 목록 공백은 제거되고 저장 전에 값은 소문자로 변환됩니다.
first_execution No 정수 (1–7) 첫 실행 요일. 기본값은 현재 날짜입니다. 범위 1–7 밖의 값은 400 BAD_REQUEST를 반환합니다.
freq_execution No 정수 (>0) 실행 빈도(일). 기본값은 7입니다.
  1. 요청을 제출합니다. 하위 프로젝트 일정의 경우, 하위 프로젝트 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
      }
    ]
    

    테넌트 전체 일정의 경우 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. 답변에서 반환된 표준화된 일정을 검토하세요. type 필드는 하위 프로젝트 일정에서는 subproject, 테넌트 전체 일정에서는 partition입니다. first_execution 필드는 다음 예정된 실행의 타임스탬프로 반환됩니다:

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

서비스는 선택한 범위에 대한 반복 분석 일정을 생성합니다. 필요한 통계만 요청하고 보고서를 얼마나 자주 확인하는지에 맞게 freq_execution를 설정하세요.

분석 일정 가져오기

스케줄즈 엔드포인트를 호출하여 볼 수 있는 스케줄을 확인하세요. datamanager 또는 tenant.admin 역할을 가진 사용자는 전체 목록을 받습니다. subproject.admin 역할이 있는 사용자는 관리할 수 있는 하위 프로젝트의 일정만 받습니다.

  1. 요청을 제출합니다.

    GET https://<instance>.energy.azure.com/seistore-svc/api/v3/analytics/job
    Authorization: Bearer {access_token}
    data-partition-id: {data_partition_id}
    
  2. 반환된 일정을 검토하세요.

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

응답에는 할당된 역할이 볼 수 있는 분석 일정이 포함되어 있습니다.

생성된 보고서를 가져오기

첫 번째 예약된 실행이 끝난 후 보고서가 제공됩니다. 단일 하위 프로젝트나 전체 테넌트에 대한 보고서를 검색하고, 선택적으로 날짜별로 결과를 좁혀 보세요.

다음 쿼리 매개변수는 report-list 및 SAS URL 요청을 제어합니다:

Parameter Required Type Description
filter-date No string 날짜별로 결과를 제한합니다. YYYY, YYYY-MM 또는 YYYY-MM-DD여야 합니다. 다른 포맷은 400 BAD_REQUEST를 반환합니다.
extension No string 대체 보고서 컨테이너 sdms-analytics-reports-<extension>를 선택합니다. 연속된 하이픈은 없고 소문자 영숫자 문자와 하이픈만 포함해야 하며, 결합된 컨테이너 이름은 63자를 초과하지 않아야 합니다.
  1. 하위 프로젝트의 보고서를 나열하려면 하위 프로젝트 경로를 호출하세요:

    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}
    

    전체 테넌트의 보고서를 나열하려면 테넌트 경로를 호출하세요:

    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. 응답에 있는 보고서 블롭 경로 목록을 검토해 보세요:

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

응답에는 선택한 범위와 날짜 필터에 맞는 보고서 블롭 경로가 포함됩니다. 반환되는 경로 수를 줄이려면 요구 사항을 충족하는 가장 구체적인 filter-date을 사용하세요.

SAS URL로 보고서를 다운로드하세요

보고서 데이터는 서비스를 통해 흐르지 않습니다. 대신, /connection-string 엔드포인트에서 단기간 SAS 자격 증명을 요청한 후, 반환된 SAS URL을 사용해 Azure Blob Storage에서 직접 보고서 블롭을 읽으세요. 제공한 filter-date는 스토리지 경로에 추가되므로, 날짜를 더 구체적으로 지정할수록 자격 증명이 적용되는 Blob 집합의 범위가 좁아집니다. 앞 절에서 설명한 extension 매개변수를 사용하여 대체 보고서 컨테이너를 타겟팅할 수도 있습니다.

  1. 하위 프로젝트 보고서에 SAS URL을 요청하려면 하위 프로젝트 경로를 호출하세요:

    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}
    

    테넌트 보고서용 SAS URL을 요청하려면 테넌트 경로를 호출하세요:

    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. 응답을 검토합니다. access_token에는 SAS URL이 포함되어 있습니다:

    {
      "access_token": "https://<account>.blob.core.windows.net/sdms-analytics-reports/...&sig=...",
      "expires_in": 3599,
      "token_type": "SasUrl"
    }
    
  3. Azure Storage SDK 또는 REST API에서 SAS URL을 사용해 앞서 선택한 보고서 경로를 다운로드하세요.

반환된 SAS URL은 선택한 경로의 보고서 블롭에 임시 접근을 제공하며, 1시간 이내에 만료됩니다. URL을 비밀로 간주하세요: 로그에 기록하거나 저장하지 말고, 만료되면 새 URL을 요청하세요.

분석 일정을 삭제하세요

서비스가 해당 범위에 대한 반복 보고서를 더 이상 생성하지 않도록 하려는 경우 분석 일정을 삭제하세요.

  1. 하위 프로젝트 일정을 삭제하려면 하위 프로젝트 라우트를 호출하세요:

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

    테넌트 스케줄을 삭제하려면 테넌트 경로를 호출하세요:

    DELETE https://<instance>.energy.azure.com/seistore-svc/api/v3/analytics/tenant/job
    Authorization: Bearer {access_token}
    data-partition-id: {data_partition_id}
    
  2. 요청이 반환 200 OK되는지 확인하세요. 존재하지 않는 스케줄을 삭제하는 것도 성공하므로 작업을 다시 시도해도 안전합니다.

분석 일정이 삭제되고, 서비스는 해당 범위에 대해 더 이상 반복 보고서를 생성하지 않습니다.

자원을 정리하세요

이 튜토리얼은 새로운 Azure 리소스를 프로비저닝하지 않습니다. 향후 보고서 생성을 막으려면, 분석 일정 삭제에 설명된 대로 분석 일정을 삭제하세요.