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 Machinesvirtual 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