Översikt över Azure-detaljhandelspriser

Azure-kunder har letat efter ett programmatiskt sätt att hämta detaljhandelspriser för alla Azure-tjänster. Nu kan du använda API:et för detaljhandelspriser för att hämta detaljhandelspriser för alla Azure-tjänster. Tidigare var det enda sättet att hämta priser för Azure-tjänster att antingen använda Priskalkylatorn för Azure eller använda Azure Portal. Det här API:et ger dig en oautentiserad upplevelse för att få detaljhandelspriser för alla Azure-tjänster. Använd API:et för att utforska priser för Azure-tjänster mot olika regioner och olika SKU:er. Det programmatiska API:et kan också hjälpa dig att skapa egna verktyg för intern analys och prisjämförelse mellan SKU:er och regioner.

Viktigt

Den valuta som Microsoft använder för att prissätta alla Azure-tjänster är USD. Priserna som visas i USD-valuta är Microsofts detaljhandelspriser. Andra priser som inte är USD som returneras av API:et är för din referens som hjälper dig att beräkna budgetkostnader.

Förhandsversion

Du kan använda den nya API-versionen 2023-01-01-preview på https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview. Förhandsversionen är bakåtkompatibel med tidigare API-versioner. URL:en returnerar den fullständiga uppsättningen mätare, inklusive primära mätare och icke-primariska mätare.

Använder antingen https://prices.azure.com/api/retail/prices eller https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview returnerar den fullständiga uppsättningen mätare.

Priser för sparplaner är endast tillgängliga med https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview versionen.

Primär mätarfiltrering

Du kan begränsa svar för att endast hämta priser för primära mätare med:

https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview&meterRegion='primary'

Primär mätarfiltrering stöds av 2021-10-01 och senare API-versioner, inklusive 2023-01-01.

Filtervärdet är skiftlägeskänsligt

I tidigare API-versioner var filtervärdet inte skiftlägeskänsligt. Men i versionen 2023-01-01-preview och senare är värdet skiftlägeskänsligt.

Exempel:

https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines' Fungerar.

I tidigare API-versioner Virtual Machines och virtual machines fungerade.

Nu fungerar bara Virtual Machines .

Stöd för Azure-sparplan

Som tidigare nämnts stöds azure-besparingsplanens detaljhandelspriser endast med förhandsversionen (https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview). För de mätare som är berättigade till en besparingsplan har resultaten ett motsvarande avsnitt för besparingsplanen. När du förbinder dig till en besparingsplan får du ett billigare pris än priset OnDemand . Mer information om Azure-sparplaner finns i dokumentationen om Azure-sparplaner.

Här är ett exempel på API-svar med information om sparplan:


        {
            "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-slutpunkt

https://prices.azure.com/api/retail/prices

API-exempelanrop

Här är några exempel:

Exempelanrop filtrerade för endast virtuella datorer:

https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines'

Exempelanrop filtrerade för endast reservationer:

https://prices.azure.com/api/retail/prices?$filter=priceType eq 'Reservation'

Exempelanrop filtrerade för virtuella datorer med reserverad instans:

https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines' and priceType eq 'Reservation'

Exempelanrop filtrerade efter beräkningsresurser:

https://prices.azure.com/api/retail/prices?$filter=serviceFamily eq 'Compute'

Exempelanrop filtrerade för beräkning med valuta i euro:

https://prices.azure.com/api/retail/prices?currencyCode='EUR'&$filter=serviceFamily eq 'Compute'

API-svarsexempel

Här är ett exempel på ETT API-svar utan reservationspriser.

{
            "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"
        }

Här är ett exempel på API-svar med reservationspriser och term i svaret.

{
            "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"
        }

Här är ett exempelsvar med en valuta som inte är 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"
}

API-svarsnumrering

API-svaret ger sidnumrering. För varje API-begäran returneras högst 1 000 poster. I slutet av API-svaret finns länken till nästa sida. Exempel:

"NextPageLink": https://prices.azure.com:443/api/retail/prices?$filter=serviceName%20eq%20%27Virtual%20Machines%27&$skip=1000

API-egenskapsinformation

Här är all egenskapsinformation som ingår i API-svaret.

Fält Exempelvärden Definition
currencyCode USD Den valuta där priser definieras och returnerar priser i USD om inget anges.
tierMinimumUnits 0 Lägsta förbrukningsenheter för att utnyttja priset
reservationTerm 1 år Reservationsperiod – ett år eller tre år
retailPrice 0.176346 Priser utan rabatt
unitPrice 0.176346
armRegionName westeurope Azure Resource Manager region där tjänsten är tillgänglig. Den här versionen stöder endast priser i kommersiellt moln.
Location Europa, västra Azure-datacenter där resursen distribueras
effectiveStartDate 2020-08-01T00:00:00Z Valfritt fält. Visar det datum då detaljhandelspriserna gäller.
meterId 000a794b-bdb0-58be-a0cd-0c3a0f222923 Unik identifierare för resursen
meterName F16s-plats Mätarens namn
productid DZH318Z0BQPS UniqueID för produkten
skuId DZH318Z0BQPS/00TG UniqueID för SKU:n
productName Virtual Machines FS Series Windows Produktnamn
skuName F16s-plats SKU-namn
serviceName Virtual Machines Namnet på tjänsten
serviceId DZH313Z7MMC8 UniqueID för tjänsten
serviceFamily Compute Tjänstfamilj för SKU:n
unitOfMeasure 1 timme Hur användningen mäts för tjänsten
Type DevTestConsumption Typ av mätarförbrukning. Andra typer är Reservation och Consumption.
isPrimaryMeterRegion Sant Anger om mätarregionen har angetts som primär mätare eller inte. Primära mätare används för avgifter och fakturering.
armSkuName Standard_F16s SKU-namn registrerat i Azure
term 3 år Termlängd för en Azure-besparingsplan som är associerad med savingsPlan information.

API-filter

Filter stöds för följande fält:

  • armRegionName
  • Location
  • meterId
  • meterName
  • productid
  • skuId
  • productName
  • skuName
  • serviceName
  • serviceId
  • serviceFamily
  • priceType
  • armSkuName

Du lägger till filtren i API-slutpunkten, som du ser i API-exempelanropen.

Valutor som stöds

Du lägger till valutakoden i API-slutpunkten, som du ser i API-exempelanropet.

Valutakod Detalj
USD US-dollar
AUD Australiendollar
BRL Brasilianska verkliga
CAD Kanadensisk dollar
CHF Schweizerfranc
CNY Kinesisk yuan
DKK Danska kronor
EURO Euro
GBP Brittiskt pund
INR Indisk rupie
JPY Japanska yen
WON Koreanska vann
NOK Norska kronor
NZD Nyzeeländskt dollar
GNIDA Rysk rubel
SEK Svenska kronor
TWD Taiwandollar

Programmatiskt exempel

Följande enkla Python-program använder API:et för att fråga prissättningen för detaljhandelsplats för en virtuell dator med standard-NP20 SKU i regionen USA, södra centrala. Programmet filtrerar utdata från frågan och visar önskad information i tabellformat.

#!/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()

När du kör den här koden genereras följande utdata:

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

Nästa steg