Azure 소매 가격 개요
Azure 고객은 모든 Azure 서비스의 소매 가격을 검색하는 프로그래밍 방식의 방법을 찾고 있습니다. 이제 소매 요금 가격 API를 사용하여 모든 Azure 서비스에 대한 소매 가격을 가져올 수 있습니다. 이전에 Azure 서비스의 가격을 검색할 수 있는 유일한 방법은 Azure 가격 책정 계산기나 Azure Portal을 사용하는 것이었습니다. 이 API를 사용하면 인증되지 않은 환경을 통해 모든 Azure 서비스의 소매가를 확인할 수 있습니다. API를 사용하여 지역 및 SKU별로 Azure 서비스의 가격을 살펴볼 수 있습니다. 프로그래밍 방식의 API를 통해 SKU 및 지역 간의 내부 분석 및 가격 비교를 위한 도구를 직접 만들 수도 있습니다.
중요
Microsoft가 모든 Azure 서비스의 가격을 책정하는 데 사용하는 통화는 USD입니다. USD 통화로 표시된 가격은 Microsoft 소매 가격입니다. API에서 반환되는 기타 비 USD 가격은 예산 비용을 예측하는 데 도움이 되는 참조용입니다.
미리 보기 버전
에서 새 2023-01-01-preview API 버전을 https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview사용할 수 있습니다. 미리 보기 버전은 이전 API 버전과 호환됩니다. URL은 기본 미터 및 기본 미터가 아닌 미터를 포함한 전체 미터 집합을 반환합니다.
또는 https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview 를 https://prices.azure.com/api/retail/prices 사용하면 전체 미터 집합이 반환됩니다.
저축 플랜의 요금은 버전에서 https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview
만 사용할 수 있습니다.
기본 미터 필터링
다음을 사용하여 기본 미터 가격만 검색하도록 응답을 제한할 수 있습니다.
https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview&meterRegion='primary'
기본 미터 필터링은 를 포함한 2023-01-01
이상 API 버전에서 2021-10-01
지원됩니다.
Azure 저장 계획 지원
앞에서 설명한 것처럼 Azure 저축 플랜 소매 가격은 미리 보기 버전(https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview)에서만 지원됩니다. 저축 플랜에 적합한 미터의 경우 결과에는 저축 계획에 해당하는 섹션이 있습니다. 저축 계획에 투입하면 가격보다 OnDemand
저렴한 가격을 얻을 수 있습니다. Azure 저축 계획에 대한 자세한 내용은 Azure 저축 계획 설명서를 참조하세요.
다음은 저축 계획 정보가 포함된 예제 API 응답입니다.
{
"currencyCode": "USD",
"tierMinimumUnits": 0.0,
"retailPrice": 2.305,
"unitPrice": 2.305,
"armRegionName": "southindia",
"location": "IN South",
"effectiveStartDate": "2019-05-14T00:00:00Z",
"meterId": "0084b086-37bf-4bee-b27f-6eb0f9ee4954",
"meterName": "M8ms",
"productId": "DZH318Z0BQ4W",
"skuId": "DZH318Z0BQ4W/00BQ",
"availabilityId": null,
"productName": "Virtual Machines MS Series",
"skuName": "M8ms",
"serviceName": "Virtual Machines",
"serviceId": "DZH313Z7MMC8",
"serviceFamily": "Compute",
"unitOfMeasure": "1 Hour",
"type": "Consumption",
"isPrimaryMeterRegion": true,
"armSkuName": "Standard_M8ms",
"savingsPlan": [
{
"unitPrice": 0.8065195,
"retailPrice": 0.8065195,
"term": "3 Years"
},
{
"unitPrice": 1.5902195,
"retailPrice": 1.5902195,
"term": "1 Year"
}
]
},
API 엔드포인트
https://prices.azure.com/api/retail/prices
API 샘플 호출
다음은 몇 가지 예입니다.
가상 머신에 대해서만 필터링된 호출 예제
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines'
예약에 대해서만 필터링된 예제 호출
https://prices.azure.com/api/retail/prices?$filter=priceType eq 'Reservation'
예약된 instance 가상 머신에 대해 필터링된 호출 예제
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines' and priceType eq 'Reservation'
컴퓨팅 리소스에 대해 필터링된 예제 호출
https://prices.azure.com/api/retail/prices?$filter=serviceFamily eq 'Compute'
통화가 유로인 컴퓨팅에 대해 필터링된 호출 예제
https://prices.azure.com/api/retail/prices?currencyCode='EUR'&$filter=serviceFamily eq 'Compute'
API 응답 예제
예약 가격이 없는 샘플 API 응답은 다음과 같습니다.
{
"currencyCode": "USD",
"tierMinimumUnits": 0.0,
"retailPrice": 0.176346,
"unitPrice": 0.176346,
"armRegionName": "westeurope",
"location": "EU West",
"effectiveStartDate": "2020-08-01T00:00:00Z",
"meterId": "000a794b-bdb0-58be-a0cd-0c3a0f222923",
"meterName": "F16s Spot",
"productId": "DZH318Z0BQPS",
"skuId": "DZH318Z0BQPS/00TG",
"productName": "Virtual Machines FS Series Windows",
"skuName": "F16s Spot",
"serviceName": "Virtual Machines",
"serviceId": "DZH313Z7MMC8",
"serviceFamily": "Compute",
"unitOfMeasure": "1 Hour",
"type": "DevTestConsumption",
"isPrimaryMeterRegion": true,
"armSkuName": "Standard_F16s"
}
다음은 응답에서 예약 가격 및 용어가 포함된 샘플 API 응답입니다.
{
"currencyCode": "USD",
"tierMinimumUnits": 0.0,
"reservationTerm": "1 Year",
"retailPrice": 25007.0,
"unitPrice": 25007.0,
"armRegionName": "southcentralus",
"location": "US South Central",
"effectiveStartDate": "2020-08-01T00:00:00Z",
"meterId": "0016083a-928f-56fd-8eeb-39287dcf676d",
"meterName": "E64 v4",
"productId": "DZH318Z0D1L7",
"skuId": "DZH318Z0D1L7/018J",
"productName": "Virtual Machines Ev4 Series",
"skuName": "E64 v4",
"serviceName": "Virtual Machines",
"serviceId": "DZH313Z7MMC8",
"serviceFamily": "Compute",
"unitOfMeasure": "1 Hour",
"type": "Reservation",
"isPrimaryMeterRegion": true,
"armSkuName": "Standard_E64_v4"
}
다음은 USD 이외의 통화를 사용하는 샘플 응답입니다.
{
"currencyCode": "EUR",
"tierMinimumUnits": 0,
"retailPrice": 0.6176,
"unitPrice": 0.6176,
"armRegionName": "westeurope",
"location": "EU West",
"effectiveStartDate": "2021-04-01T00:00:00Z",
"meterId": "000a794b-bdb0-58be-a0cd-0c3a0f222923",
"meterName": "F16s Spot",
"productId": "DZH318Z0BQPS",
"skuId": "DZH318Z0BQPS/00TG",
"productName": "Virtual Machines FS Series Windows",
"skuName": "F16s Spot",
"serviceName": "Virtual Machines",
"serviceId": "DZH313Z7MMC8",
"serviceFamily": "Compute",
"unitOfMeasure": "1 Hour",
"type": "Consumption",
"isPrimaryMeterRegion": true,
"armSkuName": "Standard_F16s"
}
API 응답 페이지 매김
API 응답은 페이지 매김을 제공합니다. 각 API 요청에 대해 최대 1,000개의 레코드가 반환됩니다. API 응답의 끝에는 다음 페이지에 대한 링크가 있습니다. 예를 들면 다음과 같습니다.
"NextPageLink": https://prices.azure.com:443/api/retail/prices?$filter=serviceName%20eq%20%27Virtual%20Machines%27&$skip=1000
API 속성 세부 정보
다음은 API 응답의 일부인 모든 속성 세부 정보입니다.
필드 | 예제 값 | 정의 |
---|---|---|
currencyCode |
USD | 지정하지 않는 한 요금이 정의되고 가격을 USD로 반환하는 통화입니다. |
tierMinimumUnits |
0 | 가격을 이용하기 위한 최소 사용량 단위 |
reservationTerm |
1년 | 예약 기간 – 1년 또는 3년 |
retailPrice |
0.176346 | 할인이 없는 가격 |
unitPrice |
0.176346 | |
armRegionName |
westeurope |
서비스를 사용할 수 있는 Azure Resource Manager 지역입니다. 이 버전은 상업용 클라우드에서만 가격을 지원합니다. |
Location |
서유럽 | 리소스가 배포되는 Azure 데이터 센터 |
effectiveStartDate |
2020-08-01T00:00:00Z | 선택적 필드입니다. 소매 가격이 적용되는 날짜를 표시합니다. |
meterId |
000a794b-bdb0-58be-a0cd-0c3a0f222923 | 리소스의 고유 식별자 |
meterName |
F16s 스폿 | 미터의 이름 |
productid |
DZH318Z0BQPS | 제품의 UniqueID |
skuId |
DZH318Z0BQPS/00TG | SKU에 대한 UniqueID |
productName |
Virtual Machines FS 시리즈 Windows | 제품 이름 |
skuName |
F16s 스폿 | SKU name |
serviceName |
Virtual Machines | 서비스 이름 |
serviceId |
DZH313Z7MMC8 | 서비스의 UniqueID |
serviceFamily |
Compute | SKU의 서비스 제품군 |
unitOfMeasure |
1시간 | 서비스에 대한 사용량 측정 방법 |
Type |
DevTestConsumption | 미터 소비 유형입니다. 다른 형식은 및 Consumption 입니다Reservation . |
isPrimaryMeterRegion |
True | 미터 영역이 기본 미터로 설정되었는지 여부를 나타냅니다. 기본 미터는 요금 및 청구에 사용됩니다. |
armSkuName |
Standard_F16s | Azure에 등록된 SKU 이름 |
term |
3년 | 정보와 관련된 savingsPlan Azure 저축 계획의 기간입니다. |
API 필터
필터는 다음 필드에 대해 지원됩니다.
armRegionName
Location
meterId
meterName
productid
skuId
productName
skuName
serviceName
serviceId
serviceFamily
priceType
armSkuName
API 샘플 호출에 표시된 것처럼 API 엔드포인트에 필터를 추가합니다.
지원되는 통화
API 샘플 호출에 표시된 대로 통화 코드를 API 엔드포인트에 추가합니다.
통화 코드 | 세부 정보 |
---|---|
USD | 미국 달러 |
Aud | 호주 달러 |
Brl | 브라질 레알 |
Cad | 캐나다 달러 |
Chf | 스위스 프랑 |
Cny | 중국 위안 |
Dkk | 덴마크 크로네 |
Eur | 유로 |
Gbp | 영국 파운드 |
Inr | 인도 루피 |
엔 | 일본 엔 |
원 | 한국 원 |
Nok | 노르웨이 크로네 |
Nzd | 뉴질랜드 달러 |
문질러 | 러시아어 루블 |
Sek | 스웨덴 크로나 |
Twd | 대만 달러 |
프로그래밍 방식 예제
다음 간단한 Python 애플리케이션은 API를 사용하여 미국 중남부 지역의 표준 NP20 SKU 가상 머신의 소매점 가격을 쿼리합니다. 애플리케이션은 쿼리의 출력을 필터링하고 원하는 정보를 테이블 형식으로 표시합니다.
#!/usr/bin/env python3
import requests
import json
from tabulate import tabulate
def build_pricing_table(json_data, table_data):
for item in json_data['Items']:
meter = item['meterName']
table_data.append([item['armSkuName'], item['retailPrice'], item['unitOfMeasure'], item['armRegionName'], meter, item['productName']])
def main():
table_data = []
table_data.append(['SKU', 'Retail Price', 'Unit of Measure', 'Region', 'Meter', 'Product Name'])
api_url = "https://prices.azure.com/api/retail/prices?api-version=2021-10-01-preview"
query = "armRegionName eq 'southcentralus' and armSkuName eq 'Standard_NP20s' and priceType eq 'Consumption' and contains(meterName, 'Spot')"
response = requests.get(api_url, params={'$filter': query})
json_data = json.loads(response.text)
build_pricing_table(json_data, table_data)
nextPage = json_data['NextPageLink']
while(nextPage):
response = requests.get(nextPage)
json_data = json.loads(response.text)
nextPage = json_data['NextPageLink']
build_pricing_table(json_data, table_data)
print(tabulate(table_data, headers='firstrow', tablefmt='psql'))
if __name__ == "__main__":
main()
이 코드를 실행하면 다음과 같은 출력이 생성됩니다.
+----------------+----------------+-------------------+----------------+------------+------------------------------------+
| SKU | Retail Price | Unit of Measure | Region | Meter | Product Name |
|----------------+----------------+-------------------+----------------+------------+------------------------------------|
| Standard_NP20s | 0.828503 | 1 Hour | southcentralus | NP20s Spot | Virtual Machines NP Series Windows |
| Standard_NP20s | 0.448207 | 1 Hour | southcentralus | NP20s Spot | Virtual Machines NP Series |
+----------------+----------------+-------------------+----------------+------------+------------------------------------+
다음 단계
- 다른 Cost Management API에 대해 알아봅니다.