Ü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 zu erhalten. Bisher war die einzige Möglichkeit, preise für Azure-Dienste abzurufen, entweder den Azure-Preisrechner oder das Azure-Portal zu verwenden. Diese API bietet Ihnen eine nicht authentifizierte Erfahrung, um Einzelhandelspreise für alle Azure-Dienste zu erhalten. Verwenden Sie die API, um Preise für Azure-Dienste für verschiedene Regionen und verschiedene SKUs zu erkunden. Die programmgesteuerte API kann Ihnen auch dabei helfen, eigene Tools für interne Analysen und Preisvergleiche in SKUs und Regionen zu erstellen.
Wichtig
Die Währung, die Microsoft zum Preis aller Azure-Dienste verwendet, beträgt USD. Die in USD angezeigten Preise sind Microsoft-Einzelhandelspreise. Andere Nicht-USD-Preise, die von der API zurückgegeben werden, beziehen sich auf Ihre Referenz, um Ihnen bei der Schätzung von Budgetausgaben zu helfen.
Vorschauversion
Sie können die neue Version der 2023-01-01-01-Preview-API 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 Metern zurück, einschließlich primärer Meter und nichtprimärer Meter.
Die Verwendung von https://prices.azure.com/api/retail/prices oder https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview gibt den vollständigen Satz von Zählern zurück.
Die 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.
Primäre Meterfilterung
Sie können Antworten einschränken, um nur primäre Meterpreise abzurufen mit:
https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview&meterRegion='primary'
Die primäre Meterfilterung wird mit 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 die Groß-/Kleinschreibung nicht beachtet. In der 2023-01-01-preview
Version und höher wird die Groß-/Kleinschreibung jedoch beachtet.
Zum Beispiel:
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines'
Funktioniert.
In früheren API-Versionen funktionierten Virtual Machines
und virtual machines
.
Jetzt funktioniert nur Virtual Machines
.
Unterstützung des Azure-Speicherplans
Wie bereits erwähnt, werden Die Einzelhandelspreise für Azure-Sparpläne nur mit der Vorschauversion (https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview) unterstützt. Für die Zähler, die für einen Sparplan berechtigt sind, weisen die Ergebnisse einen entsprechenden Abschnitt für den Sparplan auf. 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 Dokumentation zu Azure-Sparplänen.
Hier ist eine Beispiel-API-Antwort mit Informationen zum 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-Endpunkt
https://prices.azure.com/api/retail/prices
API-Beispielaufrufe
Hier sind einige Beispiele:
Beispielaufrufe, die nur für virtuelle Computer gefiltert werden:
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines'
Beispielaufrufe, die nur für Reservierungen gefiltert sind:
https://prices.azure.com/api/retail/prices?$filter=priceType eq 'Reservation'
Beispielaufrufe, die nach reservierten virtuellen Instanzen gefiltert werden:
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines' and priceType eq 'Reservation'
Beispielaufrufe, die nach Computeressourcen gefiltert werden:
https://prices.azure.com/api/retail/prices?$filter=serviceFamily eq 'Compute'
Sie können den Währungscode an den API-Endpunkt anfügen, wie im API-Beispielaufruf gezeigt. Eine vollständige Liste der unterstützten Währungen finden Sie unter Unterstützte Währungen.
Beispielaufrufe, die für die Berechnung mit Währung in Euro gefiltert werden:
https://prices.azure.com/api/retail/prices?currencyCode='EUR'&$filter=serviceFamily eq 'Compute'
API-Antwortbeispiele
Hier ist eine Beispiel-API-Antwort 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 ist eine Beispiel-API-Antwort mit Reservierungspreisen und Laufzeiten 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 ist 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 Paginierung bereit. Für jede API-Anforderung werden maximal 1.000 Datensätze zurückgegeben. Am Ende der API-Antwort verfügt sie über den Link zur nächsten Seite. Zum Beispiel:
"NextPageLink": https://prices.azure.com:443/api/retail/prices?$filter=serviceName%20eq%20%27Virtual%20Machines%27&$skip=1000
API-Eigenschaftsdetails
Hier sind alle Eigenschaftendetails, die Teil der API-Antwort sind.
Feld | Beispielwerte | Definition |
---|---|---|
currencyCode |
USD | Die Währung, in der Die Kurse definiert sind, und gibt Preise in USD zurück, sofern nicht angegeben. |
tierMinimumUnits |
0 | Mindestverbrauchseinheiten, um den Preis zu nutzen |
reservationTerm |
1 Jahr | Reservierungstermin – ein Jahr oder drei Jahre |
retailPrice |
0.176346 | Microsoft-Einzelhandelspreise ohne Rabatt |
unitPrice |
0.176346 | Identisch mit retailPrice |
armRegionName |
westeurope |
Azure Resource Manager-Region, in der der Dienst verfügbar ist. Diese Version unterstützt nur Preise für Commercial Cloud. |
Location |
EU-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 des Zählers |
productid |
DZH318Z0BQPS | UniqueID des Produkts |
skuId |
DZH318Z0BQPS/00TG | UniqueID für die SKU |
productName |
Virtuelle Computer FS-Serie Windows | Produktname |
skuName |
F16s Spot | SKU-Name |
serviceName |
Virtuelle Computer | Name des Diensts |
serviceId |
DZH313Z7MMC8 | UniqueID des Diensts |
serviceFamily |
Berechnen | Dienstfamilie der SKU |
unitOfMeasure |
1 Stunde | Wie die Nutzung für den Dienst gemessen wird |
Type |
DevTestConsumption | Meterverbrauchstyp. Andere Typen sind Reservation und Consumption . |
isPrimaryMeterRegion |
STIMMT | Gibt an, ob der Meterbereich als primärer Zähler festgelegt ist oder nicht. Primäre Zähler werden für Gebühren und Abrechnungen verwendet. |
armSkuName |
Standard_F16s | In Azure registrierter SKU-Name |
term |
3 Jahre | Laufzeitdauer für einen Azure-Sparplan, der savingsPlan Informationen zugeordnet 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 ServiceFamily-Werte
Die folgenden Informationen sind die Liste der unterstützten serviceFamily
Werte. Die Informationen können geändert werden.
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
Programmgesteuertes Beispiel
Die folgende einfache Python-Anwendung verwendet die API, um die Verkaufsplatzpreise eines virtuellen Computers der standard-NP20-SKU in der Region Süd-Zentral-USA 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()
Durch Ausführen dieses Codes 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 Kostenverwaltungs-APIs.