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입니다. |
요청을 제출합니다. 하위 프로젝트 일정의 경우, 하위 프로젝트
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 } ]답변에서 반환된 표준화된 일정을 검토하세요.
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 역할이 있는 사용자는 관리할 수 있는 하위 프로젝트의 일정만 받습니다.
요청을 제출합니다.
GET https://<instance>.energy.azure.com/seistore-svc/api/v3/analytics/job Authorization: Bearer {access_token} data-partition-id: {data_partition_id}반환된 일정을 검토하세요.
[ { "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자를 초과하지 않아야 합니다. |
하위 프로젝트의 보고서를 나열하려면 하위 프로젝트 경로를 호출하세요:
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}응답에 있는 보고서 블롭 경로 목록을 검토해 보세요:
[ "{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 매개변수를 사용하여 대체 보고서 컨테이너를 타겟팅할 수도 있습니다.
하위 프로젝트 보고서에 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}응답을 검토합니다.
access_token에는 SAS URL이 포함되어 있습니다:{ "access_token": "https://<account>.blob.core.windows.net/sdms-analytics-reports/...&sig=...", "expires_in": 3599, "token_type": "SasUrl" }Azure Storage SDK 또는 REST API에서 SAS URL을 사용해 앞서 선택한 보고서 경로를 다운로드하세요.
반환된 SAS URL은 선택한 경로의 보고서 블롭에 임시 접근을 제공하며, 1시간 이내에 만료됩니다. URL을 비밀로 간주하세요: 로그에 기록하거나 저장하지 말고, 만료되면 새 URL을 요청하세요.
분석 일정을 삭제하세요
서비스가 해당 범위에 대한 반복 보고서를 더 이상 생성하지 않도록 하려는 경우 분석 일정을 삭제하세요.
하위 프로젝트 일정을 삭제하려면 하위 프로젝트 라우트를 호출하세요:
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}요청이 반환
200 OK되는지 확인하세요. 존재하지 않는 스케줄을 삭제하는 것도 성공하므로 작업을 다시 시도해도 안전합니다.
분석 일정이 삭제되고, 서비스는 해당 범위에 대해 더 이상 반복 보고서를 생성하지 않습니다.
자원을 정리하세요
이 튜토리얼은 새로운 Azure 리소스를 프로비저닝하지 않습니다. 향후 보고서 생성을 막으려면, 분석 일정 삭제에 설명된 대로 분석 일정을 삭제하세요.