Přehled maloobchodních cen Azure
Zákazníci Azure hledali programový způsob, jak načíst maloobchodní ceny všech služeb Azure. Teď můžete pomocí rozhraní API Maloobchodní ceny získat maloobchodní ceny pro všechny služby Azure. Dříve bylo jediným způsobem, jak načíst ceny služeb Azure, použít cenovou kalkulačku Azure nebo použít Azure Portal. Toto rozhraní API poskytuje neověřené prostředí pro získání maloobchodních cen pro všechny služby Azure. Pomocí rozhraní API můžete prozkoumat ceny služeb Azure pro různé oblasti a různé skladové položky. Programové rozhraní API vám také může pomoct vytvořit vlastní nástroje pro interní analýzu a porovnání cen napříč skladovými jednotkami a oblastmi.
Důležité
Měna, kterou Microsoft používá k ceně všech služeb Azure, je USD. Ceny uvedené v měně USD jsou maloobchodní ceny Microsoftu. Další ceny, které rozhraní API vrací mimo USD, jsou pro vaši referenci, aby vám pomohly odhadnout rozpočtové výdaje.
Verze Preview
Novou verzi rozhraní API 2023-01-01-Preview můžete použít na adrese https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview. Verze Preview je zpětně kompatibilní s předchozími verzemi rozhraní API. Adresa URL vrátí úplnou sadu měřičů, včetně primárních a neprimárních měřičů.
Použijete jednu https://prices.azure.com/api/retail/prices nebo https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview vrátíte celou sadu měřičů.
Sazby pro spořicí plány jsou k dispozici pouze s verzí https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview
.
Filtrování primárních měřičů
Odpovědi můžete omezit tak, aby načítaly pouze ceny primárních měřičů pomocí:
https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview&meterRegion='primary'
Filtrování primárních měřičů podporují 2021-10-01
i novější verze rozhraní API, včetně 2023-01-01
.
V hodnotě filtru se rozlišují velká a malá písmena.
V předchozích verzích rozhraní API se v hodnotě filtru nerozcházely velká a malá písmena. Ve 2023-01-01-preview
verzi a novějších verzích se ale u hodnoty rozlišují velká a malá písmena.
Příklad:
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines'
Funguje.
V dřívějších verzích Virtual Machines
rozhraní API a virtual machines
fungovaly.
Teď to funguje jenom Virtual Machines
.
Podpora úsporného plánu Azure
Jak už jsme zmínili, maloobchodní ceny plánů Azure Savings Plan se podporují pouze ve verzi Preview (https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview). U měřičů, které mají nárok na spořicí plán, mají výsledky odpovídající oddíl pro plán úspor. Když se zavážete k úsporám, získáte levnější cenu, než je OnDemand
cena. Další informace o úsporných plánech Azure najdete v dokumentaci k úsporným plánům Azure.
Tady je příklad odpovědi rozhraní API s informacemi o plánu úspor:
{
"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"
}
]
},
Koncový bod rozhraní API
https://prices.azure.com/api/retail/prices
Ukázková volání rozhraní API
Tady je několik příkladů:
Příklad volání filtrovaných pouze pro virtuální počítače:
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines'
Příklad volání filtrovaných pouze pro rezervace:
https://prices.azure.com/api/retail/prices?$filter=priceType eq 'Reservation'
Příklad volání filtrovaných pro virtuální počítače rezervovaných instancí:
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines' and priceType eq 'Reservation'
Příklad volání filtrovaných pro výpočetní prostředky:
https://prices.azure.com/api/retail/prices?$filter=serviceFamily eq 'Compute'
Příklad volání filtrovaných pro výpočty s měnou v eurech:
https://prices.azure.com/api/retail/prices?currencyCode='EUR'&$filter=serviceFamily eq 'Compute'
Příklady odpovědí rozhraní API
Tady je ukázková odpověď rozhraní API bez cen rezervací.
{
"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"
}
Tady je ukázková odpověď rozhraní API s cenami rezervací a termínem v odpovědi.
{
"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"
}
Tady je ukázková odpověď s měnou mimo 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"
}
Stránkování odpovědí rozhraní API
Odpověď rozhraní API poskytuje stránkování. Pro každý požadavek rozhraní API se vrátí maximálně 1 000 záznamů. Na konci odpovědi rozhraní API je odkaz na další stránku. Příklad:
"NextPageLink": https://prices.azure.com:443/api/retail/prices?$filter=serviceName%20eq%20%27Virtual%20Machines%27&$skip=1000
Podrobnosti o vlastnosti rozhraní API
Tady jsou všechny podrobnosti o vlastnosti, které jsou součástí odpovědi rozhraní API.
Pole | Ukázkové hodnoty | Definice |
---|---|---|
currencyCode |
USD | Měna, ve které jsou definovány kurzy, a vrací ceny v USD, pokud není uvedeno. |
tierMinimumUnits |
0 | Minimální jednotky spotřeby pro využití ceny |
reservationTerm |
1 rok | Období rezervace – jeden nebo tři roky |
retailPrice |
0.176346 | Ceny bez slevy |
unitPrice |
0.176346 | |
armRegionName |
westeurope |
Azure Resource Manager oblasti, kde je služba dostupná. Tato verze podporuje pouze ceny v komerčním cloudu. |
Location |
Evropa – západ | Datacentrum Azure, ve kterém je prostředek nasazený |
effectiveStartDate |
2020-08-01T0:00:00Z | Volitelné pole. Zobrazuje datum, kdy jsou maloobchodní ceny platné. |
meterId |
000a794b-bdb0-58be-a0cd-0c3a0f222923 | Jedinečný identifikátor prostředku |
meterName |
F16s Spot | Název měřiče |
productid |
DZH318Z0BQPS | UniqueID produktu |
skuId |
DZH318Z0BQPS/00TG | UniqueID pro skladovou položku |
productName |
windows řady Virtual Machines FS | Název produktu |
skuName |
F16s Spot | Název skladové položky |
serviceName |
Virtual Machines | Název služby |
serviceId |
DZH313Z7MMC8 | UniqueID služby |
serviceFamily |
Compute | Řada služeb skladové položky |
unitOfMeasure |
1 hodina | Jak se měří využití služby |
Type |
DevTestConsumption | Typ spotřeby měřiče. Další typy jsou Reservation a Consumption . |
isPrimaryMeterRegion |
Ano | Určuje, jestli je oblast měřiče nastavená jako primární měřič nebo ne. Primární měřiče se používají pro poplatky a fakturaci. |
armSkuName |
Standard_F16s | Název skladové položky zaregistrovaný v Azure |
term |
3 roky | Délka období pro úsporný plán Azure přidružená k informacím savingsPlan |
Filtry rozhraní API
Filtry jsou podporované pro následující pole:
armRegionName
Location
meterId
meterName
productid
skuId
productName
skuName
serviceName
serviceId
serviceFamily
priceType
armSkuName
Filtry připojíte ke koncovému bodu rozhraní API, jak je znázorněno v ukázkovém volání rozhraní API.
Podporované měny
Kód měny připojíte ke koncovému bodu rozhraní API, jak je znázorněno ve vzorovém volání rozhraní API.
Kód měny | Podrobnosti |
---|---|
USD | Americký dolar |
AUD | Australský dolar |
BRL | Brazilský real |
CAD | Kanadský dolar |
CHF | Švýcarský frank |
CNY | Čínský jüan |
DKK | Dánská koruna |
EUR | Euro |
GBP | Britská libra |
INR | Indická rupie |
JPY | Japonský jen |
KRW | Korejština vyhrála |
NOK | Norská koruna |
NZD | Novozélandský dolar |
TŘÍT | Ruský rubl |
SEK | Švédská koruna |
TWD | Tchaj-wanský dolar |
Příklad z kódu programu
Následující jednoduchá aplikace Python využívá rozhraní API k dotazování na prodejní ceny virtuálního počítače se standardní skladovou položkou NP20 v oblasti USA – středo jih. Aplikace filtruje výstup dotazu a prezentuje požadované informace ve formátu tabulky.
#!/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()
Spuštění tohoto kódu vytvoří následující výstup:
+----------------+----------------+-------------------+----------------+------------+------------------------------------+
| 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 |
+----------------+----------------+-------------------+----------------+------------+------------------------------------+
Další kroky
- Přečtěte si o dalších rozhraních API služby Cost Management.