Aracılığıyla paylaş


Azure Perakende Fiyatlarına genel bakış

Azure müşterileri, tüm Azure hizmetlerinin perakende fiyatlarını almak için programlı bir yol arıyor. Artık tüm Azure hizmetlerinin perakende fiyatlarını almak için Perakende Fiyatları API'sini kullanabilirsiniz. Daha önce, Azure hizmetlerinin fiyatlarını almanızın tek yolu Azure Fiyatlandırma Hesaplayıcısı'nı kullanmak veya Azure portalını kullanmaktı. Bu API, tüm Azure hizmetlerinin perakende fiyatlarını almak için size kimliği doğrulanmamış bir deneyim sunar. Farklı bölgelere ve farklı SKU'lara göre Azure hizmetlerinin fiyatlarını keşfetmek için API'yi kullanın. Programlı API, SKU'lar ve bölgeler arasında iç analiz ve fiyat karşılaştırması için kendi araçlarınızı oluşturmanıza da yardımcı olabilir.

Önemli

Microsoft'un tüm Azure hizmetlerini fiyat olarak kullanmak için kullandığı para birimi ABD dolarıdır. ABD doları cinsinden gösterilen fiyatlar Microsoft perakende fiyatlarıdır. API tarafından döndürülen diğer ABD doları olmayan fiyatlar, bütçe giderlerini tahmin etmeye yardımcı olmak için referans içindir.

Önizleme sürümü

yeni 2023-01-01-preview API sürümünü https://prices.azure.com/api/retail/prices?api-version=2023-01-01-previewadresinde kullanabilirsiniz. Önizleme sürümü önceki API sürümleriyle geriye dönük uyumludur. URL, birincil ölçümler ve ayrıcalıksız ölçümler de dahil olmak üzere tam ölçüm kümesini döndürür.

https://prices.azure.com/api/retail/prices veya https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview kullanıldığında, tüm ölçüm kümesi döndürülüyor.

Tasarruf planları için ücretler yalnızca https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview sürümüyle kullanılabilir.

Birincil ölçüm filtreleme

Yanıtları şu şekilde yalnızca birincil ölçüm fiyatlarını alacak şekilde sınırlayabilirsiniz:

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

Birincil ölçüm filtreleme, 2023-01-01dahil olmak üzere 2021-10-01 ve sonraki API sürümleriyle desteklenir.

Filtre değeri büyük/küçük harfe duyarlıdır

Önceki API sürümlerinde filtre değeri büyük/küçük harfe duyarlı değildi. Ancak, 2023-01-01-preview sürümünde ve sonraki sürümlerde değer büyük/küçük harfe duyarlıdır.

Mesela:

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

Önceki API sürümlerinde Virtual Machines ve virtual machines çalışıyordu.

Şimdi, sadece Virtual Machines çalışıyor.

Azure tasarruf planı desteği

Daha önce belirtildiği gibi Azure tasarruf planı perakende fiyatları yalnızca önizleme sürümü (https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview) ile desteklenir. Tasarruf planı için uygun ölçümler için sonuçlar, tasarruf planı için ilgili bir bölüme sahiptir. Tasarruf planına bağlandığınızda, OnDemand fiyatından daha ucuz bir fiyat elde edersiniz. Azure tasarruf planları hakkında daha fazla bilgi için bkz.Azure tasarruf planları belgeleri .

Aşağıda tasarruf planı bilgilerini içeren örnek bir API yanıtı verilmiştir:


        {
            "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 uç noktası

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

API örnek çağrıları

Aşağıda bazı örnekler verilmiştir:

Yalnızca sanal makineler için filtrelenmiş örnek çağrılar:

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

Yalnızca rezervasyonlar için filtrelenmiş örnek çağrılar:

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

Ayrılmış örnek sanal makineleri için filtrelenmiş örnek çağrılar:

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

İşlem kaynakları için filtrelenmiş örnek çağrılar:

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

Para birimi kodunu API örnek çağrısında gösterildiği gibi API uç noktasına ekleyebilirsiniz. Desteklenen para birimlerinin tam listesi için bkz. desteklenen para birimleri.

Para birimi euro olan işlem için filtrelenmiş örnek çağrılar:

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

API yanıt örnekleri

Rezervasyon fiyatları olmadan örnek bir API yanıtı aşağıda verilmiştır.

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

Burada, yanıtta rezervasyon fiyatları ve terim içeren örnek bir API yanıtı verilmiştir.

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

Abd doları olmayan bir para birimiyle örnek bir yanıt aşağıda verilmiştir.

{
  "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 yanıt sayfalaması

API yanıtı sayfalandırma sağlar. Her API isteği için en fazla 1.000 kayıt döndürülür. API yanıtının sonunda, sonraki sayfaya bağlantı bulunur. Mesela:

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

API özelliği ayrıntıları

API yanıtının bir parçası olan tüm özellik ayrıntıları aşağıda verilmiştir.

Alan Örnek Değerler Tanım
currencyCode USD Kurların tanımlandığı ve belirtilmediği sürece fiyatları ABD Doları cinsinden döndürdüğü para birimi.
tierMinimumUnits 0 Fiyatı kullanmak için en düşük tüketim birimleri
reservationTerm 1 yıl Rezervasyon dönemi – bir yıl veya üç yıl
retailPrice 0.176346 İndirimsiz Microsoft Perakende Fiyatları
unitPrice 0.176346 retailPrice ile aynı
armRegionName westeurope Hizmetin kullanılabilir olduğu Azure Resource Manager bölgesi. Bu sürüm yalnızca Ticari Bulut'ta fiyatları destekler.
Location AB Batı Kaynağın dağıtıldığı Azure veri merkezi
effectiveStartDate 2020-08-01T00:00:00Z İsteğe bağlı alan. Perakende fiyatlarının geçerli olduğu tarihi gösterir.
meterId 000a794b-bdb0-58be-a0cd-0c3a0f222923 Kaynağın benzersiz tanımlayıcısı
meterName F16s Spot Ölçüm adı
productid DZH318Z0BQPS Ürünün UniqueID değeri
skuId DZH318Z0BQPS/00TG SKU için UniqueID
productName Sanal Makineler FS Serisi Windows Ürün adı
skuName F16s Spot SKU adı
serviceName Sanal Makineler Hizmetin adı
serviceId DZH313Z7MMC8 Hizmetin UniqueID değeri
serviceFamily Hesaplamak SKU'nun hizmet ailesi
unitOfMeasure 1 Saat Hizmet için kullanım nasıl ölçülür?
Type DevTestConsumption Ölçüm tüketim türü. Diğer türler Reservation ve Consumption.
isPrimaryMeterRegion Doğru Ölçüm bölgesinin birincil ölçüm olarak ayarlanıp ayarlanmadığını gösterir. Birincil ölçümler ücretler ve faturalama için kullanılır.
armSkuName Standard_F16s Azure'da kayıtlı SKU adı
term 3 Yıl Azure tasarruf planı için savingsPlan bilgilerle ilişkili terim uzunluğu.

API filtreleri

Filtreler aşağıdaki alanlar için desteklenir:

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

Api örnek çağrılarında gösterildiği gibi filtreleri API uç noktasına eklersiniz.

Desteklenen serviceFamily değerleri

Aşağıdaki bilgiler desteklenen serviceFamily değerlerinin listesidir. Bilgiler değişebilir.

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

ProgramLı Örnek

Aşağıdaki basit Python uygulaması, Orta Güney ABD bölgesindeki standart NP20 SKU'sunun sanal makinesinin perakende satış noktası fiyatlandırmasını sorgulamak için API'yi kullanır. Uygulama sorgunun çıkışını filtreler ve istenen bilgileri tablo biçiminde sunar.

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

Bu kodu çalıştırmak aşağıdaki çıkışı oluşturur:

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

Sonraki adımlar

  • diğer Maliyet Yönetimi API'leri hakkında bilgi edinin.