Dela via


Översikt över Azure Retail Prices

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 Priser för detaljhandeln 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-portalen. 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.

Viktig

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 icke-USD-priser som returneras av API:et är till 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 hela uppsättningen mätare, inklusive primära mätare och icke-privilegierade mätare.

Om du använder antingen https://prices.azure.com/api/retail/prices eller https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview returneras hela uppsättningen mätare.

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

Primär mätarfiltrering

Du kan begränsa svar till 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 med 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 den 2023-01-01-preview versionen och senare är värdet skiftlägeskänsligt.

Till exempel:

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

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

Nu fungerar bara Virtual Machines.

Stöd för Azure-sparplan

Som tidigare nämnts stöds detaljhandelspriser för Azure-sparplan 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 sparplan har resultaten ett motsvarande avsnitt för sparplan. När du förbinder dig till en sparplan får du ett billigare pris än det OnDemand priset. 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 följer 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'

Du kan lägga till valutakoden i API-slutpunkten, som du ser i API-exempelanropet. En fullständig lista över valutor som stöds finns i valutor som stöds.

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

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

Exempel på API-svar

Här är ett exempel på 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. Till 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 priserna 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 Microsofts detaljhandelspriser utan rabatt
unitPrice 0.176346 Samma som retailPrice
armRegionName westeurope Azure Resource Manager-region där tjänsten är tillgänglig. Den här versionen stöder endast priser på commercial cloud.
Location EU, 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 UniktID för produkten
skuId DZH318Z0BQPS/00TG UniqueID för SKU:n
productName Windows i FS-serien virtual machines Produktnamn
skuName F16s-plats SKU-namn
serviceName Virtuella datorer Tjänstens namn
serviceId DZH313Z7MMC8 UniqueID för tjänsten
serviceFamily Beräkna Tjänstfamiljen för SKU:n
unitOfMeasure 1 timme Hur användningen mäts för tjänsten
Type DevTestConsumption Mätarförbrukningstyp. Andra typer är Reservation och Consumption.
isPrimaryMeterRegion Sann 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-sparplan 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.

ServiceFamily-värden som stöds

Följande information är listan över värden som stöds serviceFamily. Informationen kan komma att ändras.

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

Programmatiskt exempel

Följande enkla Python-program använder API:et för att köra frågor mot prissättningen för detaljhandelsplats för en virtuell dator med standard-NP20 SKU:n 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