Übersicht über Azure-Einzelhandelspreise
Azure-Kunden haben nach einer programmgesteuerten Möglichkeit gesucht, einzelhandelspreise für alle Azure-Dienste abzurufen. Jetzt können Sie die Api für Einzelhandelspreise verwenden, um Einzelhandelspreise für alle Azure-Dienste abzurufen. Bisher konnten Sie Preise für Azure-Dienste nur mithilfe des Azure-Preisrechners oder über das Azure-Portal abrufen. Diese API bietet Ihnen eine nicht authentifizierte Oberfläche zum Abrufen von Einzelhandelspreisen für alle Azure-Dienste. Verwenden Sie die API, wenn Sie die Preise für Azure-Dienste für verschiedene Regionen und SKUs untersuchen möchten. Mit der programmgesteuerten API können Sie auch Ihre eigenen Tools für interne Analysen und Preisvergleiche zwischen SKUs und Regionen erstellen.
Wichtig
Die Währung, die Microsoft zum Preis aller Azure-Dienste verwendet, ist USD. In USD angezeigte Preise sind Microsoft-Einzelhandelspreise. Andere Nicht-USD-Preise, die von der API zurückgegeben werden, dienen Ihrer Referenz, um Ihnen bei der Schätzung der Budgetausgaben zu helfen.
Vorschauversion
Sie können die neue API-Version 2023-01-01-preview unter https://prices.azure.com/api/retail/prices?api-version=2023-01-01-previewverwenden. Die Vorschauversion ist abwärtskompatibel mit früheren API-Versionen. Die URL gibt den vollständigen Satz von Verbrauchseinheiten zurück, einschließlich primärer und nicht primärer Verbrauchseinheiten.
Die Verwendung von oder https://prices.azure.com/api/retail/priceshttps://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview gibt den vollständigen Satz von Verbrauchseinheiten zurück.
Tarife für Sparpläne sind nur mit der https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview
Version verfügbar.
Filtern der primären Verbrauchseinheit
Sie können Antworten auf das Abrufen der Preise für primäre Verbrauchseinheiten einschränken mit:
https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview&meterRegion='primary'
Die Primäre Verbrauchseinheitsfilterung wird von 2021-10-01
und höheren API-Versionen unterstützt, einschließlich 2023-01-01
.
Beim Filterwert wird die Groß-/Kleinschreibung beachtet.
In früheren API-Versionen wurde beim Filterwert die Groß-/Kleinschreibung nicht beachtet. In der 2023-01-01-preview
Version und höher wird bei dem Wert jedoch die Groß-/Kleinschreibung beachtet.
Beispiel:
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines'
Funktioniert.
In früheren API-Versionen Virtual Machines
virtual machines
und funktionierte.
Jetzt funktioniert nur Virtual Machines
noch.
Unterstützung für Azure-Sparpläne
Wie bereits erwähnt, werden die Verkaufspreise des Azure-Sparplans nur mit der Vorschauversion (https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview) unterstützt. Für die Verbrauchseinheiten, die für einen Sparplan in Frage kommen, verfügen die Ergebnisse über einen entsprechenden Abschnitt für den Sparplan. Wenn Sie sich für einen Sparplan verpflichten, erhalten Sie einen günstigeren Preis als der OnDemand
Preis. Weitere Informationen zu Azure-Sparplänen finden Sie in der Dokumentation zu Azure-Sparplänen.
Hier sehen Sie ein Beispiel für eine API-Antwort mit Sparplaninformationen:
{
"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-Endpunkt
https://prices.azure.com/api/retail/prices
API-Beispielaufrufe
Hier einige Beispiele:
Beispielaufrufe, die nur nach virtuellen Computern gefiltert sind:
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines'
Beispielaufrufe, die nur nach Reservierungen gefiltert sind:
https://prices.azure.com/api/retail/prices?$filter=priceType eq 'Reservation'
Beispielaufrufe, die nach reservierten instance virtuellen Computern gefiltert sind:
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines' and priceType eq 'Reservation'
Beispielaufrufe, die nach Computeressourcen gefiltert sind:
https://prices.azure.com/api/retail/prices?$filter=serviceFamily eq 'Compute'
Beispielaufrufe, die nach Compute mit Der Währung in Euro gefiltert sind:
https://prices.azure.com/api/retail/prices?currencyCode='EUR'&$filter=serviceFamily eq 'Compute'
API-Antwortbeispiele
Hier sehen Sie eine API-Beispielantwort ohne Reservierungspreise.
{
"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"
}
Hier sehen Sie eine API-Beispielantwort mit Reservierungspreisen und Begriff in der Antwort.
{
"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"
}
Hier sehen Sie eine Beispielantwort mit einer Nicht-USD-Währung.
{
"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-Antwort paginierung
Die API-Antwort stellt eine Paginierung bereit. Für jede API-Anforderung werden maximal 1.000 Datensätze zurückgegeben. Am Ende der API-Antwort befindet sich der Link zur nächsten Seite. Beispiel:
"NextPageLink": https://prices.azure.com:443/api/retail/prices?$filter=serviceName%20eq%20%27Virtual%20Machines%27&$skip=1000
API-Eigenschaftendetails
Hier sind alle Eigenschaftendetails aufgeführt, die Teil der API-Antwort sind.
Feld | Beispielwerte | Definition |
---|---|---|
currencyCode |
USD | Die Währung, in der die Kurse definiert sind und die Preise in USD zurückgibt, sofern nicht angegeben. |
tierMinimumUnits |
0 | Mindestverbrauchseinheiten zum Nutzen des Preises |
reservationTerm |
1 Jahr | Reservierungslaufzeit – ein Jahr oder drei Jahre |
retailPrice |
0.176346 | Preise ohne Rabatt |
unitPrice |
0.176346 | |
armRegionName |
westeurope |
Azure Resource Manager Region, in der der Dienst verfügbar ist. Diese Version unterstützt nur Preise in der kommerziellen Cloud. |
Location |
Europa, Westen | Azure-Rechenzentrum, in dem die Ressource bereitgestellt wird |
effectiveStartDate |
2020-08-01T00:00:00Z | Optionales Feld. Zeigt das Datum an, an dem die Verkaufspreise wirksam sind. |
meterId |
000a794b-bdb0-58be-a0cd-0c3a0f222923 | Eindeutiger Bezeichner der Ressource |
meterName |
F16s Spot | Name der Verbrauchseinheit |
productid |
DZH318Z0BQPS | UniqueID des Produkts |
skuId |
DZH318Z0BQPS/00TG | UniqueID für die SKU |
productName |
Windows der Virtual Machines FS-Serie | Produktname |
skuName |
F16s Spot | SKU-Name |
serviceName |
Virtual Machines | Name des Diensts |
serviceId |
DZH313Z7MMC8 | UniqueID des Diensts |
serviceFamily |
Compute | Dienstfamilie der SKU |
unitOfMeasure |
1 Stunde | Wie die Nutzung für den Dienst gemessen wird |
Type |
DevTestConsumption | Verbrauchstyp der Verbrauchseinheit. Andere Typen sind Reservation und Consumption . |
isPrimaryMeterRegion |
True | Gibt an, ob der Verbrauchseinheitsbereich als primäre Verbrauchseinheit festgelegt ist. Primäre Verbrauchseinheiten werden für Gebühren und Abrechnung verwendet. |
armSkuName |
Standard_F16s | In Azure registrierte SKU-Name |
term |
3 Jahre | Laufzeitlänge für einen Azure-Sparplan, der Informationen zugeordnet savingsPlan ist. |
API-Filter
Filter werden für die folgenden Felder unterstützt:
armRegionName
Location
meterId
meterName
productid
skuId
productName
skuName
serviceName
serviceId
serviceFamily
priceType
armSkuName
Sie fügen die Filter an den API-Endpunkt an, wie in den API-Beispielaufrufen gezeigt.
Unterstützte Währungen
Sie fügen den Währungscode an den API-Endpunkt an, wie im API-Beispielaufruf gezeigt.
Currency code | Detail |
---|---|
USD | US-Dollar |
AUD | Australischer Dollar |
BRL | Brasilianischer Real |
CAD | Kanadischer Dollar |
CHF | Schweizer Franken |
CNY | Chinesischer Yuan |
DKK | Dänische Krone |
EUR | Euro |
GBP | Britisches Pfund |
INR | Indische Rupien |
JPY | Japanischer Yen |
KRW | Koreanisch gewonnen |
NOK | Norwegische Krone |
NZD | Neuseeländischer Dollar |
REIBEN | Russischer Rubel |
SEK | Schwedische Krone |
TWD | Taiwan-Dollar |
Programmgesteuertes Beispiel
Die folgende einfache Python-Anwendung verwendet die API, um die Einzelhandelspreise für einen virtuellen Computer der NP20-Standard-SKU in der Region "USA, Süden-Mitte" abzufragen. Die Anwendung filtert die Ausgabe der Abfrage und stellt die gewünschten Informationen in einem Tabellenformat dar.
#!/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()
Wenn Sie diesen Code ausführen, wird die folgende Ausgabe erzeugt:
+----------------+----------------+-------------------+----------------+------------+------------------------------------+
| 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ächste Schritte
- Erfahren Sie mehr über andere Cost Management-APIs.