Az Azure Kiskereskedelmi árak áttekintése
Az Azure-ügyfelek programozott módszert kerestek az összes Azure-szolgáltatás kiskereskedelmi árainak lekérésére. Most a Kiskereskedelmi árak API-val lekérheti az összes Azure-szolgáltatás kiskereskedelmi árait. Korábban az Azure-szolgáltatások árainak lekérésének egyetlen módja az Azure-díjkalkulátor használata vagy az Azure Portal használata volt. Ez az API nem hitelesített élményt nyújt az összes Azure-szolgáltatás kiskereskedelmi díjszabásának lekéréséhez. Az API használatával megismerheti az Azure-szolgáltatások különböző régiókra és termékváltozatokra vonatkozó árait. A programozott API segítségével saját eszközöket hozhat létre a belső elemzéshez és az árak összehasonlításához a termékváltozatok és régiók között.
Fontos
A Microsoft által az összes Azure-szolgáltatás árára használt pénznem usd. Az USD pénznemben megjelenített árak a Microsoft kiskereskedelmi árai. Az API által visszaadott egyéb nem USD-árak az Ön számára nyújtanak segítséget a költségvetési költségek becsléséhez.
Előzetes verzió
Az új 2023-01-01-preview API-verziót a https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview. Az előzetes verzió visszamenőlegesen kompatibilis a korábbi API-verziókkal. Az URL-cím a mérők teljes készletét adja vissza, beleértve az elsődleges és a nemprimáris mérőket is.
Az https://prices.azure.com/api/retail/prices vagy https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview használatával a mérők teljes készletét adja vissza.
A megtakarítási csomagok díjszabása csak a https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview
verzióval érhető el.
Elsődleges mérő szűrése
A válaszok korlátozásával csak az elsődleges fogyasztásmérők árait kérdezheti le a következőkkel:
https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview&meterRegion='primary'
Az elsődleges fogyasztásmérő-szűrést 2021-10-01
és újabb API-verziók támogatják, beleértve a 2023-01-01
.
A szűrő értéke megkülönbözteti a kis- és nagybetűk értékét
A korábbi API-verziókban a szűrő értéke nem volt megkülönböztetett a kis- és nagybetűk között. A 2023-01-01-preview
és újabb verziókban azonban az érték megkülönbözteti a kis- és nagybetűk értékét.
Például:
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines'
működik.
A korábbi API-verziókban Virtual Machines
és virtual machines
működött.
Most csak Virtual Machines
működik.
Az Azure-mentési csomag támogatása
Ahogy korábban említettük, az Azure-megtakarítási csomag kiskereskedelmi árai csak az előzetes verzió (https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview) esetében támogatottak. A megtakarítási tervre jogosult mérők esetében az eredményeknek van egy megfelelő szakasza a megtakarítási tervhez. Amikor elkötelezi magát egy megtakarítási terv mellett, a OnDemand
árnál olcsóbb árat kap. Az Azure-megtakarítási csomagokkal kapcsolatos további információkért tekintse meg Azure-megtakarítási csomagok dokumentációját.
Íme egy példa API-válasz a megtakarítási terv adataival:
{
"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-végpont
https://prices.azure.com/api/retail/prices
API-mintahívások
Íme néhány példa:
Csak virtuális gépekre szűrt példahívások:
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines'
Csak foglalásokra szűrt példahívások:
https://prices.azure.com/api/retail/prices?$filter=priceType eq 'Reservation'
Fenntartott példány virtuális gépeire szűrt példahívások:
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines' and priceType eq 'Reservation'
Számítási erőforrásokra szűrt példahívások:
https://prices.azure.com/api/retail/prices?$filter=serviceFamily eq 'Compute'
A pénznemkódot hozzáfűzheti az API-végponthoz az API-mintahívásban látható módon. A támogatott pénznemek teljes listáját támogatott pénznemekcímű témakörben találja.
Példahívások a számításhoz euróban megadott pénznemmel szűrt hívásokra:
https://prices.azure.com/api/retail/prices?currencyCode='EUR'&$filter=serviceFamily eq 'Compute'
API-válasz példák
Íme egy minta API-válasz foglalási árak nélkül.
{
"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"
}
Íme egy minta API-válasz foglalási árakkal és kifejezéssel a válaszban.
{
"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"
}
Az alábbiakban egy nem USD-pénznemmel rendelkező mintaválaszt talál.
{
"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-válaszok lapozása
Az API-válasz lapozást biztosít. Minden API-kéréshez legfeljebb 1000 rekordot ad vissza a rendszer. Az API-válasz végén a következő oldalra mutató hivatkozás található. Például:
"NextPageLink": https://prices.azure.com:443/api/retail/prices?$filter=serviceName%20eq%20%27Virtual%20Machines%27&$skip=1000
API-tulajdonság részletei
Íme az API-válasz részét képező összes tulajdonságrészlet.
Mező | Példaértékek | Definíció |
---|---|---|
currencyCode |
USD | Az a pénznem, amelyben az árfolyamok meg vannak határozva, és az árakat USD-ben adja vissza, kivéve, ha meg van adva. |
tierMinimumUnits |
0 | Minimális fogyasztási egységek az ár kihasználása érdekében |
reservationTerm |
1 év | Foglalás időtartama – egy vagy három év |
retailPrice |
0.176346 | Microsoft Kiskereskedelmi árak kedvezmény nélkül |
unitPrice |
0.176346 | Ugyanaz, mint retailPrice |
armRegionName |
westeurope |
Azure Resource Manager-régió, ahol a szolgáltatás elérhető. Ez a verzió csak a kereskedelmi felhő árait támogatja. |
Location |
NYUGAT-EU | Azure-adatközpont, ahol az erőforrás üzembe van helyezve |
effectiveStartDate |
2020-08-01T00:00:00Z | Nem kötelező mező. A kiskereskedelmi árak hatályba lépésének dátumát jeleníti meg. |
meterId |
000a794b-bdb0-58be-a0cd-0c3a0f222923 | Az erőforrás egyedi azonosítója |
meterName |
F16s Spot | A mérő neve |
productid |
DZH318Z0BQPS | A termék egyedi azonosítója |
skuId |
DZH318Z0BQPS/00TG | Egyedi azonosító a termékváltozathoz |
productName |
Virtual Machines FS Series Windows | Terméknév |
skuName |
F16s Spot | Termékváltozat neve |
serviceName |
Virtuális gépek | A szolgáltatás neve |
serviceId |
DZH313Z7MMC8 | A szolgáltatás egyedi azonosítója |
serviceFamily |
Számlál | A termékváltozat szolgáltatáscsaládja |
unitOfMeasure |
1 óra | A használat mérése a szolgáltatáshoz |
Type |
DevTestConsumption | Fogyasztásmérő típusa. A többi típus Reservation és Consumption . |
isPrimaryMeterRegion |
Igaz | Azt jelzi, hogy a mérőterület elsődleges mérőként van-e beállítva. Az elsődleges mérők a díjakhoz és a számlázáshoz használatosak. |
armSkuName |
Standard_F16s | Az Azure-ban regisztrált termékváltozat neve |
term |
3 év | Egy Azure-beli megtakarítási csomag kifejezéshossza, amely savingsPlan információkhoz van társítva. |
API-szűrők
A szűrők a következő mezőkhöz támogatottak:
armRegionName
Location
meterId
meterName
productid
skuId
productName
skuName
serviceName
serviceId
serviceFamily
priceType
armSkuName
A szűrőket hozzáfűzi az API-végponthoz, ahogy az az API-mintahívásokban is látható.
Támogatott serviceFamily értékek
Az alábbi információk a támogatott serviceFamily
értékek listáját ismertetik. Az információk változhatnak.
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
Programozott példa
Az alábbi egyszerű Python-alkalmazás az API használatával kérdezi le a standard NP20 termékváltozatú virtuális gép kiskereskedelmi díjszabását az USA déli középső régiójában. Az alkalmazás szűri a lekérdezés kimenetét, és táblázatformátumban jeleníti meg a kívánt információkat.
#!/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()
A kód futtatása a következő kimenetet eredményezi:
+----------------+----------------+-------------------+----------------+------------+------------------------------------+
| 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 |
+----------------+----------------+-------------------+----------------+------------+------------------------------------+
Következő lépések
- További információ a Cost Management API-król.