Vue d’ensemble des prix de vente au détail Azure
Les clients Azure cherchent un moyen programmatique de récupérer les prix de vente au détail pour tous les services Azure. Vous pouvez maintenant utiliser l’API Prix des tarifs de vente au détail pour obtenir les prix de vente au détail pour tous les services Azure. Auparavant, la seule façon dont vous pouviez récupérer les prix des services Azure était d’utiliser la calculatrice de prix Azure ou d’utiliser le portail Azure. Cette API vous offre une expérience non authentifiée pour obtenir des tarifs de vente au détail pour tous les services Azure. Utilisez l’API pour explorer les prix des services Azure sur différentes régions et différentes références SKU. L’API programmatique peut également vous aider à créer vos propres outils pour l’analyse interne et la comparaison des prix entre les références SKU et les régions.
Important
La devise utilisée par Microsoft pour payer tous les services Azure est USD. Les prix affichés en usd sont des prix de vente au détail Microsoft. D’autres prix non USD retournés par l’API sont destinés à votre référence pour vous aider à estimer les dépenses budgétaires.
Préversion
Vous pouvez utiliser la nouvelle version de l’API 2023-01-01-preview à https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview. La préversion est compatible avec les versions antérieures de l’API. L’URL retourne l’ensemble complet de compteurs, y compris les compteurs principaux et les compteurs non primaires.
L’utilisation de https://prices.azure.com/api/retail/prices ou https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview retourne l’ensemble complet de compteurs.
Les tarifs des plans d’épargne sont disponibles uniquement avec la version https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview
.
Filtrage du compteur principal
Vous pouvez limiter les réponses pour récupérer uniquement les prix des compteurs principaux avec :
https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview&meterRegion='primary'
Le filtrage de compteur principal est pris en charge avec les versions 2021-10-01
et ultérieures de l’API, notamment 2023-01-01
.
La valeur de filtre respecte la casse
Dans les versions précédentes de l’API, la valeur du filtre n’était pas sensible à la casse. Toutefois, dans la version 2023-01-01-preview
et ultérieure, la valeur respecte la casse.
Par exemple:
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines'
fonctionne.
Dans les versions antérieures de l’API, Virtual Machines
et virtual machines
fonctionnaient.
Maintenant, seul Virtual Machines
fonctionne.
Prise en charge du plan d’enregistrement Azure
Comme mentionné précédemment, les prix de vente au détail du plan d’épargne Azure sont uniquement pris en charge avec la préversion (https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview). Pour les compteurs éligibles à un plan d’épargne, les résultats ont une section correspondante pour le plan d’épargne. Lorsque vous vous engagez dans un plan d’épargne, vous obtenez un prix moins cher que le prix OnDemand
. Pour plus d’informations sur les plans d’épargne Azure, consultez documentation sur les plans d’épargne Azure.
Voici un exemple de réponse d’API avec des informations sur le plan d’épargne :
{
"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"
}
]
},
Point de terminaison d’API
https://prices.azure.com/api/retail/prices
Exemples d’appels d’API
Voici quelques exemples :
Exemples d’appels filtrés pour les machines virtuelles uniquement :
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines'
Exemples d’appels filtrés pour les réservations uniquement :
https://prices.azure.com/api/retail/prices?$filter=priceType eq 'Reservation'
Exemples d’appels filtrés pour les machines virtuelles d’instance réservée :
https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines' and priceType eq 'Reservation'
Exemples d’appels filtrés pour les ressources de calcul :
https://prices.azure.com/api/retail/prices?$filter=serviceFamily eq 'Compute'
Vous pouvez ajouter le code monétaire au point de terminaison de l’API, comme indiqué dans l’exemple d’appel d’API. Pour obtenir la liste complète des devises prises en charge, consultez devises prises en charge.
Exemples d’appels filtrés pour le calcul avec devise en euro :
https://prices.azure.com/api/retail/prices?currencyCode='EUR'&$filter=serviceFamily eq 'Compute'
Exemples de réponse d’API
Voici un exemple de réponse d’API, sans prix de réservation.
{
"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"
}
Voici un exemple de réponse d’API avec les prix de réservation et le terme dans la réponse.
{
"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"
}
Voici un exemple de réponse avec une devise non 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"
}
Pagination de la réponse de l’API
La réponse de l’API fournit une pagination. Pour chaque requête d’API, un maximum de 1 000 enregistrements est retourné. À la fin de la réponse de l’API, il a le lien vers la page suivante. Par exemple:
"NextPageLink": https://prices.azure.com:443/api/retail/prices?$filter=serviceName%20eq%20%27Virtual%20Machines%27&$skip=1000
Détails de la propriété API
Voici tous les détails de la propriété qui font partie de la réponse de l’API.
Champ | Exemples de valeurs | Définition |
---|---|---|
currencyCode |
USD | Devise dans laquelle les taux sont définis et retourne les prix en USD, sauf indication contraire. |
tierMinimumUnits |
0 | Unités minimales de consommation pour bénéficier du prix |
reservationTerm |
1 an | Durée de réservation : un an ou trois ans |
retailPrice |
0.176346 | Prix de vente au détail Microsoft sans remise |
unitPrice |
0.176346 | Identique à retailPrice |
armRegionName |
westeurope |
Région Azure Resource Manager où le service est disponible. Cette version prend uniquement en charge les prix sur le cloud commercial. |
Location |
UE Ouest | Centre de données Azure où la ressource est déployée |
effectiveStartDate |
2020-08-01T00:00:00Z | Champ facultatif. Affiche la date à laquelle les prix de vente au détail sont effectifs. |
meterId |
000a794b-bdb0-58be-a0cd-0c3a0f222923 | Identificateur unique de la ressource |
meterName |
F16s Spot | Nom du compteur |
productid |
DZH318Z0BQPS | UniqueID du produit |
skuId |
DZH318Z0BQPS/00TG | UniqueID pour la référence SKU |
productName |
Windows de la série FS de machines virtuelles | Nom du produit |
skuName |
F16s Spot | Nom de la référence SKU |
serviceName |
Machines virtuelles | Nom du service |
serviceId |
DZH313Z7MMC8 | ID unique du service |
serviceFamily |
Calculer | Famille de services de la référence SKU |
unitOfMeasure |
1 heure | Comment l’utilisation est mesurée pour le service |
Type |
DevTestConsumption | Type de consommation du compteur. D’autres types sont Reservation et Consumption . |
isPrimaryMeterRegion |
Vrai | Indique si la région du compteur est définie en tant que compteur principal ou non. Les compteurs principaux sont utilisés pour les frais et la facturation. |
armSkuName |
Standard_F16s | Nom de référence SKU inscrit dans Azure |
term |
3 ans | Durée d’un plan d’épargne Azure associé à des informations savingsPlan . |
Filtres d’API
Les filtres sont pris en charge pour les champs suivants :
armRegionName
Location
meterId
meterName
productid
skuId
productName
skuName
serviceName
serviceId
serviceFamily
priceType
armSkuName
Vous ajoutez les filtres au point de terminaison de l’API, comme indiqué dans les exemples d’appels d’API.
Valeurs serviceFamily prises en charge
Les informations suivantes sont la liste des valeurs de serviceFamily
prises en charge. Les informations sont susceptibles de changer.
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
Exemple programmatique
L’application Python simple suivante utilise l’API pour interroger la tarification au détail d’une machine virtuelle de la référence SKU NP20 standard dans la région USA Centre Sud. L’application filtre la sortie de la requête et présente les informations souhaitées dans un format de tableau.
#!/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()
L’exécution de ce code produit la sortie suivante :
+----------------+----------------+-------------------+----------------+------------+------------------------------------+
| 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 |
+----------------+----------------+-------------------+----------------+------------+------------------------------------+
Étapes suivantes
- En savoir plus sur les autres API Cost Management.