Přehled maloobchodních cen Azure
Zákazníci Azure hledali programový způsob načítání maloobchodních cen pro všechny služby Azure. Teď můžete pomocí rozhraní API pro maloobchodní ceny získat maloobchodní ceny pro všechny služby Azure. Jediným způsobem, jak byste mohli načíst ceny služeb Azure, bylo 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 sazeb pro všechny služby Azure. Pomocí rozhraní API můžete prozkoumat ceny služeb Azure v různých oblastech a různých cenových úrovních. 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 bez USD vrácené rozhraním API jsou určené pro referenci, které vám pomůžou odhadnout rozpočtové výdaje.
Verze Preview
Novou verzi rozhraní API verze 2023-01-01-Preview můžete použít na 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 měřičů a neprimárních měřičů.
Použití https://prices.azure.com/api/retail/prices nebo https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview vrátí úplnou sadu měřičů.
Sazby pro plány úspor jsou k dispozici pouze v https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview
verzi.
Filtrování primárního měřiče
Odpovědi můžete omezit tak, aby se načítaly pouze ceny primárního měřiče:
https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview&meterRegion='primary'
Filtrování primárního měřiče se podporuje u 2021-10-01
a novějších verzí rozhraní API, včetně 2023-01-01
.
U hodnoty filtru se rozlišují malá a velká písmena.
Vpředchozíchch V 2023-01-01-preview
verzi a novější se ale rozlišují malá a velká písmena.
Například:
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines'
funguje.
Ve starších verzích rozhraní API Virtual Machines
a virtual machines
fungovaly.
Teď funguje jenom Virtual Machines
.
Podpora plánu úspory v Azure
Jak jsme už zmínili, maloobchodní ceny plánu Úspory v Azure jsou podporovány pouze ve verzi Preview (https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview). Pro měřiče způsobilé pro plán úspor mají výsledky odpovídající oddíl pro plán úspor. Když se zavazujete k plánu úspor, získáte levnější cenu než OnDemand
cena. Další informace o plánech úspor Azure najdete v dokumentaci k plánům úspor v 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ů:
Ukázková volání filtrovaná pouze pro virtuální počítače:
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines'
Ukázková volání filtrovaná 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'
Ukázková volání filtrovaná pro výpočetní prostředky:
https://prices.azure.com/api/retail/prices?$filter=serviceFamily eq 'Compute'
Kód měny můžete připojit ke koncovému bodu rozhraní API, jak je znázorněno v ukázkovém volání rozhraní API. Úplný seznam podporovaných měn najdete v tématu Podporované měny.
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 má odkaz na další stránku. Napří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 sazby a vrací ceny v USD, pokud není zadáno. |
tierMinimumUnits |
0 | Minimální spotřeba za účelem využití ceny |
reservationTerm |
1 rok | Období rezervace – jeden rok nebo tři roky |
retailPrice |
0.176346 | Maloobchodní ceny Microsoftu bez slevy |
unitPrice |
0.176346 | Stejné jako retailPrice |
armRegionName |
westeurope |
Oblast Azure Resource Manageru, ve které je služba dostupná. Tato verze podporuje pouze ceny v komerčním cloudu. |
Location |
EU – západ | Datové centrum Azure, ve kterém je prostředek nasazený |
effectiveStartDate |
2020-08-01T00: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 |
Virtuální počítače | Název služby |
serviceId |
DZH313Z7MMC8 | UniqueID služby |
serviceFamily |
Vypočítat | Řada služeb skladové položky |
unitOfMeasure |
1 hodina | Jak se měří využití pro službu |
Type |
DevTestConsumption | Typ spotřeby měřiče. Jiné typy jsou Reservation a Consumption . |
isPrimaryMeterRegion |
Pravdivý | 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 plán úspor Azure, který je přidružený k informacím o savingsPlan |
Filtry rozhraní API
Filtry jsou podporovány 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ých voláních rozhraní API.
Podporované hodnoty serviceFamily
Následující informace jsou seznam podporovaných hodnot serviceFamily
. Informace se můžou změnit.
Analytics
Azure Arc
Azure Communication Services
Azure Security
Azure Stack
Compute
Containers
Data
Databases
Developer Tools
Dynamics
Gaming
Integration
Internet of Things
Management and Governance
Microsoft Syntex
Mixed Reality
Networking
Other
Power Platform
Quantum Computing
Security
Storage
Telecommunications
Web
Windows Virtual Desktop
Příklad kódu programu
Následující jednoduchá aplikace v Pythonu využívá rozhraní API k dotazování cen prodejního spotu virtuálního počítače se standardní skladovou jednotkou NP20 v oblasti USA – středojižní. Aplikace filtruje výstup dotazu a zobrazí 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 |
+----------------+----------------+-------------------+----------------+------------+------------------------------------+