기업 고객을 위한 보고 API - 사용량 세부 정보

참고

2024년 5월 1일에 Azure Enterprise Reporting API가 사용 중지됩니다. 나머지 Enterprise Reporting API는 요청에 대한 응답을 중지합니다. 고객은 그 전에 Microsoft Cost Management API를 사용하여 전환해야 합니다. 자세한 내용은 Azure Enterprise Reporting에서 Microsoft Cost Management API로 마이그레이션 개요를 참조하세요.

이 API는 지정된 리소스에 대해 최대 400개의 태그 문자가 있는 사용량 레코드만 지원합니다. 최대 태그 수를 초과하는 레코드가 있는 경우 API가 실패할 수 있습니다. 이 문제가 발생하면 내보내기 또는 내보내기 API로 마이그레이션합니다.

사용량 세부 정보 API는 등록에 따른 사용량과 예상 요금의 일별 분석 결과를 제공합니다. 이 결과에는 인스턴스, 측정기 및 부서에 대한 정보도 포함됩니다. API는 청구 기간 또는 지정된 시작 날짜와 종료 날짜를 기준으로 쿼리할 수 있습니다.

추가해야 하는 공통 헤더 속성은 기업 고객을 위한 보고 API 개요 문서에 지정되어 있습니다. 사용자 지정 시간 범위는 yyyy-MM-dd 형식의 시작 날짜 및 종료 날짜 매개 변수로 지정할 수 있으며,

CSV 형식

아래에 나열된 API는 CSV 형식의 데이터를 제공합니다.

동기 호출(비 폴링)

REST API 호출의 응답으로 CSV 형식으로 데이터를 반환합니다. API 성능은 호출에서 반환되는 사용량 데이터에 따라 달라지고 최대 60분이 걸릴 수 있습니다. API는 사용자 지정 날짜 범위를 지원하지만 해당 기간 동안 가지고 있는 사용량 데이터의 양에 따라 제한하는 것이 좋습니다. 최대 1개월 지원을 허용합니다.

메서드 요청 URI 다운로드
GET https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/download?billingPeriod={billingPeriod}
GET https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/download?startTime=2017-01-01& endTime=2017-01-10

비동기 호출(폴링 기반)

호출은 특정 시간 범위에 대해 먼저 요청을 제출한 다음, 폴링하여 CSV 데이터가 있는 Azure Blob 위치에 대한 공유 액세스 키 기반 URL을 가져와야 하는 2단계 프로세스입니다. 여기에서 지원되는 최대 시간은 36개월입니다. 더 큰 데이터 세트에 대해 이 API를 사용하는 것이 좋습니다.

메서드 요청 URI 제출
POST https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/submit?billingPeriod={billingPeriod}
POST https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/submit?startTime=2017-04-01& endTime=2017-04-10

비동기(폴링) 제출 호출 응답

    {
        "id": "string",
        "enrollmentNumber":"string",
        "requestedOn":"2017-08-29T06:56:29.1290704Z",
        "status":1,
        "blobPath":"",
        "reportUrl":"string",
        "startDate":"2017-06-01T00:00:00",
        "endDate":"2017-06-30T00:00:00"
    }
비동기 호출 응답 속성 정의
속성 이름 형식 Description
id 문자열 요청에 대한 고유 ID입니다.
enrollmentNumber 문자열 요청이 이루어진 등록 번호입니다.
requestedOn string 요청이 이루어진 날짜 시간입니다.
상태 int 요청의 상태 나타냅니다. Queued = 1, InProgress = 2, Completed = 3, Failed = 4, NoDataFound = 5, ReadyToDownload=6, TimedOut = 7.
blobPath 문자열 csv Blob에 대한 공유 액세스 키 URL입니다.
reportUrl 문자열 제출 요청의 상태 폴링하는 데 사용할 수 있는 URL입니다.
startDate 문자열 제출 호출을 수행하는 동안 사용된 시간 범위의 시작 부분에 해당합니다.
endDate 문자열 제출 호출을 수행하는 동안 사용된 시간 범위의 끝에 해당합니다.

reportUrl은 추가 폴링 호출(GET 작업)에 사용할 수 있는 URL입니다. 폴링 요청 응답의 상태 필드가 3으로 돌아오면 요청이 완료됩니다. 응답에 blobPath 필드가 csv 데이터를 가리키는 URL로 채워져 있습니다. blob은 requestedOn 응답 필드의 날짜 시간부터 1일 동안 사용할 수 있습니다. 상태 4, 5 및 7은 API 호출이 오류 조건에 도달한 상태 실패입니다. 다른 모든 상태 폴링 호출을 반복해야 합니다.

JSON 형식

아래에 나열된 API는 JSON 형식의 데이터를 제공합니다. 청구 기간을 지정하지 않으면 현재 청구 기간에 대한 데이터가 반환됩니다. 지원되는 최대 시간 범위는 36개월입니다.

메서드 요청 URI
GET https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails
GET https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/billingPeriods/{billingPeriod}/usagedetails
GET https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetailsbycustomdate?startTime=2017-01-01& endTime=2017-01-10

참고

이전 버전의 API를 사용하려면 위의 URL에서 v3을 v2로 바꿉 있습니다. v2를 사용하는 경우 일부 필드를 사용할 수 없습니다.

응답

잠재적으로 많은 양의 데이터로 인해 결과 집합이 페이징됩니다. nextLink 속성(있는 경우)은 데이터의 다음 페이지에 대한 링크를 지정합니다. 링크가 비어 있으면 이 링크가 마지막 페이지임을 나타냅니다.

    {
        "id": "string",
        "data": [
            {
                "serviceName":"Storage",
                "serviceTier":"Premium Page Blobs",
                "location":"US West",
                "chargesBilledSeparately":false,
                "partNumber":"ABC-12345",
                "resourceGuid":"00000000-0000-0000-0000-000000000000",
                "offerId":"MS-AZR-0003P",
                "cost":1,
                "accountId":123456,
                "productId":1234,
                "resourceLocationId":12,
                "consumedServiceId":1,
                "departmentId":3456,
                "accountOwnerEmail":"account@live.com",
                "accountName":"Account Name",
                "serviceAdministratorId":"123",
                "subscriptionId":0000000,
                "subscriptionGuid":"00000000-0000-0000-0000-000000000000",
                "subscriptionName":"Subscription Name",
                "date":"2018-08-01T00:00:00",
                "product":"Locally Redundant Storage Premium Storage - Page Blob/P10 - US West",
                "meterId":"00000000-0000-0000-0000-000000000000",
                "meterCategory":"Storage",
                "meterSubCategory":"Locally Redundant",
                "meterRegion":"California",
                "meterName":"Premium Storage - Page Blob/P10 (Units)",
                "consumedQuantity"1,
                "resourceRate":1,
                "resourceLocation":"uswest",
                "consumedService":"Microsoft.Compute",
                "instanceId":"Id",
                "serviceInfo1":"string",
                "serviceInfo2":"string",
                "additionalInfo":"string",
                "tags":"string",
                "storeServiceIdentifier":"string",
                "departmentName":"Department Name",
                "costCenter":"1234",
                "unitOfMeasure":"Units",
                "resourceGroup":"ResourceGroup"
            }
        ],
        "nextLink": "string"
    }

사용량 세부 정보 필드 정의

속성 이름 형식 Description
id 문자열 API 호출의 고유 ID
데이터 JSON 배열 모든 인스턴스/측정기에 대한 일별 사용량 세부 정보의 배열
nextLink 문자열 더 많은 데이터 페이지가 있으면 nextLink에서 다음 데이터 페이지를 반환하는 URL을 가리킵니다.
accountId int 사용되지 않는 필드입니다. 이전 버전과의 호환성을 위해 존재합니다.
productId int 사용되지 않는 필드입니다. 이전 버전과의 호환성을 위해 존재합니다.
resourceLocationId int 사용되지 않는 필드입니다. 이전 버전과의 호환성을 위해 존재합니다.
consumedServiceId int 사용되지 않는 필드입니다. 이전 버전과의 호환성을 위해 존재합니다.
departmentId int 사용되지 않는 필드입니다. 이전 버전과의 호환성을 위해 존재합니다.
accountOwnerEmail string 계정 소유자의 전자 메일 계정입니다.
accountName 문자열 계정의 이름을 입력한 사용자입니다.
serviceAdministratorId string 서비스 관리자의 전자 메일 주소입니다.
subscriptionId int 사용되지 않는 필드입니다. 이전 버전과의 호환성을 위해 존재합니다.
subscriptionGuid 문자열 구독의 전역 고유 식별자입니다.
subscriptionName 문자열 구독의 이름입니다.
date 문자열 소비가 발생한 날짜입니다.
product 문자열 측정기에 대한 추가 세부 정보입니다.
meterId 문자열 사용량을 내보낸 측정기의 식별자입니다.
meterCategory 문자열 사용된 Azure 플랫폼 서비스입니다.
meterSubCategory 문자열 요율에 영향을 줄 수 있는 Azure 서비스 유형을 정의합니다.
meterRegion 문자열 데이터 센터 위치에 따라 가격이 책정되는 특정 서비스에 대한 데이터 센터의 위치를 식별합니다.
meterName string 측정기의 이름입니다.
consumedQuantity double 사용된 측정기의 양입니다.
resourceRate double 청구 가능 단위당 해당되는 속도입니다.
cost double 측정기에 대해 발생한 요금입니다.
resourceLocation 문자열 측정기가 실행되고 있는 데이터 센터를 식별합니다.
consumedService string 사용된 Azure 플랫폼 서비스입니다.
instanceId string 이 식별자는 리소스의 이름 또는 정규화된 리소스 ID입니다. 자세한 내용은 Azure Resource Manager API를 참조하세요.
serviceInfo1 문자열 내부 Azure 서비스 메타데이터입니다.
serviceInfo2 문자열 예를 들어, 가상 머신의 이미지 형식 및 ExpressRoute의 ISP 이름입니다.
additionalInfo string 서비스 특정 메타데이터입니다. 예를 들어 가상 머신용 이미지 형식입니다.
tags string 태그를 추가한 고객입니다. 자세한 내용은 태그를 사용하여 Azure 리소스 구성을 참조하세요.
storeServiceIdentifier 문자열 이 열은 사용되지 않으며, 이전 버전과의 호환성을 위해 존재합니다.
departmentName 문자열 부서 이름입니다.
costCenter 문자열 사용량이 연결된 비용 센터입니다.
unitOfMeasure 문자열 서비스 요금이 청구되는 단위를 식별합니다. 예: GB, 시간, 10,000초
resourceGroup 문자열 배포된 측정기가 실행되는 리소스 그룹입니다. 자세한 내용은 Azure Resource Manager 개요를 참조하세요.
chargesBilledSeparately string 통화 약정 외에 청구되는 요금입니다.
위치 문자열 서비스가 배포된 위치입니다.
offerId 문자열 서비스에 대한 OfferId입니다.
partNumber string 서비스에 대한 SKU 번호입니다.
resourceGuid 문자열 사용량을 내보낸 측정기의 식별자입니다.
serviceTier 문자열 서비스 계층.
serviceName string Service Name.

속도 제한

고객 간에 일관된 환경을 사용하도록 설정하기 위해 모든 사용량 API는 등록 수준에서 속도가 제한됩니다. 한도에 도달하면 HTTP 상태 코드 429 너무 많은 요청이 표시됩니다. 15분 간격의 현재 처리량은 다음과 같습니다.

API 속도 제한
NextPage 1000
다운로드 50
설문 조사 180
전송 20

추가 정보