Přehled maloobchodních cen Azure

Zákazníci Azure hledali programový způsob, jak načíst maloobchodní ceny všech služeb Azure. Teď můžete pomocí rozhraní API Maloobchodní ceny získat maloobchodní ceny pro všechny služby Azure. Dříve bylo jediným způsobem, jak načíst ceny služeb Azure, použít cenovou kalkulačku Azure nebo použít Azure Portal. Toto rozhraní API poskytuje neověřené prostředí pro získání maloobchodních cen pro všechny služby Azure. Pomocí rozhraní API můžete prozkoumat ceny služeb Azure pro různé oblasti a různé skladové položky. Programové rozhraní API vám také může pomoct vytvořit vlastní nástroje pro interní analýzu a porovnání cen napříč skladovými jednotkami a oblastmi.

Důležité

Měna, kterou Microsoft používá k ceně všech služeb Azure, je USD. Ceny uvedené v měně USD jsou maloobchodní ceny Microsoftu. Další ceny, které rozhraní API vrací mimo USD, jsou pro vaši referenci, aby vám pomohly odhadnout rozpočtové výdaje.

Verze Preview

Novou verzi rozhraní API 2023-01-01-Preview můžete použít na adrese https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview. Verze Preview je zpětně kompatibilní s předchozími verzemi rozhraní API. Adresa URL vrátí úplnou sadu měřičů, včetně primárních a neprimárních měřičů.

Použijete jednu https://prices.azure.com/api/retail/prices nebo https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview vrátíte celou sadu měřičů.

Sazby pro spořicí plány jsou k dispozici pouze s verzí https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview .

Filtrování primárních měřičů

Odpovědi můžete omezit tak, aby načítaly pouze ceny primárních měřičů pomocí:

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

Filtrování primárních měřičů podporují 2021-10-01 i novější verze rozhraní API, včetně 2023-01-01.

V hodnotě filtru se rozlišují velká a malá písmena.

V předchozích verzích rozhraní API se v hodnotě filtru nerozcházely velká a malá písmena. Ve 2023-01-01-preview verzi a novějších verzích se ale u hodnoty rozlišují velká a malá písmena.

Příklad:

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

V dřívějších verzích Virtual Machines rozhraní API a virtual machines fungovaly.

Teď to funguje jenom Virtual Machines .

Podpora úsporného plánu Azure

Jak už jsme zmínili, maloobchodní ceny plánů Azure Savings Plan se podporují pouze ve verzi Preview (https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview). U měřičů, které mají nárok na spořicí plán, mají výsledky odpovídající oddíl pro plán úspor. Když se zavážete k úsporám, získáte levnější cenu, než je OnDemand cena. Další informace o úsporných plánech Azure najdete v dokumentaci k úsporným plánům Azure.

Tady je příklad odpovědi rozhraní API s informacemi o plánu úspor:


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

Koncový bod rozhraní API

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

Ukázková volání rozhraní API

Tady je několik příkladů:

Příklad volání filtrovaných pouze pro virtuální počítače:

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

Příklad volání filtrovaných pouze pro rezervace:

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

Příklad volání filtrovaných pro virtuální počítače rezervovaných instancí:

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

Příklad volání filtrovaných pro výpočetní prostředky:

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

Příklad volání filtrovaných pro výpočty s měnou v eurech:

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

Příklady odpovědí rozhraní API

Tady je ukázková odpověď rozhraní API bez cen rezervací.

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

Tady je ukázková odpověď rozhraní API s cenami rezervací a termínem v odpovědi.

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

Tady je ukázková odpověď s měnou mimo 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"
}

Stránkování odpovědí rozhraní API

Odpověď rozhraní API poskytuje stránkování. Pro každý požadavek rozhraní API se vrátí maximálně 1 000 záznamů. Na konci odpovědi rozhraní API je odkaz na další stránku. Příklad:

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

Podrobnosti o vlastnosti rozhraní API

Tady jsou všechny podrobnosti o vlastnosti, které jsou součástí odpovědi rozhraní API.

Pole Ukázkové hodnoty Definice
currencyCode USD Měna, ve které jsou definovány kurzy, a vrací ceny v USD, pokud není uvedeno.
tierMinimumUnits 0 Minimální jednotky spotřeby pro využití ceny
reservationTerm 1 rok Období rezervace – jeden nebo tři roky
retailPrice 0.176346 Ceny bez slevy
unitPrice 0.176346
armRegionName westeurope Azure Resource Manager oblasti, kde je služba dostupná. Tato verze podporuje pouze ceny v komerčním cloudu.
Location Evropa – západ Datacentrum Azure, ve kterém je prostředek nasazený
effectiveStartDate 2020-08-01T0:00:00Z Volitelné pole. Zobrazuje datum, kdy jsou maloobchodní ceny platné.
meterId 000a794b-bdb0-58be-a0cd-0c3a0f222923 Jedinečný identifikátor prostředku
meterName F16s Spot Název měřiče
productid DZH318Z0BQPS UniqueID produktu
skuId DZH318Z0BQPS/00TG UniqueID pro skladovou položku
productName windows řady Virtual Machines FS Název produktu
skuName F16s Spot Název skladové položky
serviceName Virtual Machines Název služby
serviceId DZH313Z7MMC8 UniqueID služby
serviceFamily Compute Řada služeb skladové položky
unitOfMeasure 1 hodina Jak se měří využití služby
Type DevTestConsumption Typ spotřeby měřiče. Další typy jsou Reservation a Consumption.
isPrimaryMeterRegion Ano Určuje, jestli je oblast měřiče nastavená jako primární měřič nebo ne. Primární měřiče se používají pro poplatky a fakturaci.
armSkuName Standard_F16s Název skladové položky zaregistrovaný v Azure
term 3 roky Délka období pro úsporný plán Azure přidružená k informacím savingsPlan

Filtry rozhraní API

Filtry jsou podporované pro následující pole:

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

Filtry připojíte ke koncovému bodu rozhraní API, jak je znázorněno v ukázkovém volání rozhraní API.

Podporované měny

Kód měny připojíte ke koncovému bodu rozhraní API, jak je znázorněno ve vzorovém volání rozhraní API.

Kód měny Podrobnosti
USD Americký dolar
AUD Australský dolar
BRL Brazilský real
CAD Kanadský dolar
CHF Švýcarský frank
CNY Čínský jüan
DKK Dánská koruna
EUR Euro
GBP Britská libra
INR Indická rupie
JPY Japonský jen
KRW Korejština vyhrála
NOK Norská koruna
NZD Novozélandský dolar
TŘÍT Ruský rubl
SEK Švédská koruna
TWD Tchaj-wanský dolar

Příklad z kódu programu

Následující jednoduchá aplikace Python využívá rozhraní API k dotazování na prodejní ceny virtuálního počítače se standardní skladovou položkou NP20 v oblasti USA – středo jih. Aplikace filtruje výstup dotazu a prezentuje požadované informace ve formátu tabulky.

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

Spuštění tohoto kódu vytvoří následující výstup:

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

Další kroky