Az Azure kiskereskedelmi árainak á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 a 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 árait különböző régiók és különböző termékváltozatok esetében. 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
Az a pénznem, amelyet a Microsoft az összes Azure-szolgáltatás árára használ, USD. Az USD pénznemben megjelenített árak a Microsoft kiskereskedelmi árai. Az API által visszaadott egyéb nem USD-árak az Ön referenciái, amelyek segítenek a költségvetési kiadások becslésében.
Előzetes verzió
Az új 2023-01-01-preview API-verziót itt használhatja: 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 nem elsődleges mérőket is.
https://prices.azure.com/api/retail/prices A vagy https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview a használata 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 fogyasztásmérő szűrése
Korlátozhatja a válaszokat, hogy csak az elsődleges fogyasztásmérő árait kérje 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 a és újabb API-verziók támogatják 2021-10-01
, beleértve a következőt: 2023-01-01
.
A szűrő értéke megkülönbözteti a kis- és nagybetűt
A korábbi API-verziókban a szűrő értéke nem volt megkülönböztetve a kis- és nagybetűk között. A verzióban és az 2023-01-01-preview
ú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 és Virtual Machines
virtual machines
működött.
Most csak Virtual Machines
működik.
Azure-beli mentési csomag támogatása
Ahogy korábban említettük, az Azure megtakarítási csomag kiskereskedelmi árait csak az előzetes verzió (https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview) támogatja. A megtakarítási csomagra jogosult mérők esetében az eredményekhez tartozik egy megfelelő szakasz a megtakarítási tervhez. Amikor elkötelezi magát egy megtakarítási terv mellett, olcsóbb árat kap, mint az OnDemand
ár. Az Azure-megtakarítási csomagokkal kapcsolatos további információkért tekintse meg az 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:
Példahívások csak virtuális gépekre szűrve:
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines'
Példahívások csak foglalásokra szűrve:
https://prices.azure.com/api/retail/prices?$filter=priceType eq 'Reservation'
A fenntartott példány virtuális gépeihez 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'
Példahívások a számításra euróban megadott pénznemmel szűrve:
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"
}
Íme egy mintaválasz egy nem USD pénznemmel.
{
"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álasz 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
Itt találja az API-válasz részét képező összes tulajdonságrészletet.
Mező | Példaértékek | Definíció |
---|---|---|
currencyCode |
USD | A pénznem, amelyben az árfolyamok meg vannak határozva, és usd-ben adja vissza az árakat, kivéve, ha meg vannak adva. |
tierMinimumUnits |
0 | Minimális fogyasztási egységek az ár kihasználása érdekében |
reservationTerm |
1 év | Foglalási időszak – egy vagy három év |
retailPrice |
0.176346 | Árkedvezmény nélküli árak |
unitPrice |
0.176346 | |
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-Európa | Azure-adatközpont, ahol az erőforrás üzembe van helyezve |
effectiveStartDate |
2020-08-01T00:00:00Z | Nem kötelező kitölteni. 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 fogyasztásmérő neve |
productid |
DZH318Z0BQPS | A termék egyedi azonosítója |
skuId |
DZH318Z0BQPS/00TG | A termékváltozat egyedi azonosítója |
productName |
Virtual Machines FS-sorozatú Windows | Terméknév |
skuName |
F16s Spot | Termékváltozat neve |
serviceName |
Virtual Machines | A szolgáltatás neve |
serviceId |
DZH313Z7MMC8 | A szolgáltatás egyedi azonosítója |
serviceFamily |
Compute | A termékváltozat szolgáltatáscsaládja |
unitOfMeasure |
1 óra | A szolgáltatás használatának mérése |
Type |
DevTestConsumption | Fogyasztásmérő típusa. Más típusok a következők: Reservation és Consumption . |
isPrimaryMeterRegion |
Igaz | Azt jelzi, hogy a mérőterület elsődleges mérőként van-e beállítva. A díjakat és a számlázást elsődleges mérők használják. |
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 az adatokhoz savingsPlan 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 az API-mintahívásokban látható módon.
Támogatott pénznemek
A pénznemkódot hozzáfűzi az API-végponthoz az API-mintahívásban látható módon.
Pénznemkód | Részletek |
---|---|
USD | AMERIKAI DOLLÁR |
AUD | Ausztrál dollár |
BRL | Brazil valódi |
CAD | Kanadai dollár |
CHF | Svájci frank |
CNY | Kínai jüan |
DKK | Dán korona |
EUR | Euro |
GBP | Angol font |
INR | Indiai rúpia |
JPY | Japán jen |
KRW | Koreai nyert |
NOK | Norvég korona |
NZD | Új-zélandi dollár |
DÖRZSÖLJE | Orosz rubel |
SEK | Svéd korona |
TWD | Tajvani dollár |
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 spot 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áblaformá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.