Gambaran umum Azure Retail Prices

Pelanggan Azure telah mencari cara terprogram untuk mengambil harga ritel untuk semua layanan Azure. Sekarang Anda dapat menggunakan RETAIL Rates Prices API untuk mendapatkan harga ritel untuk semua layanan Azure. Sebelumnya, satu-satunya cara Anda dapat mengambil harga untuk layanan Azure adalah dengan menggunakan Kalkulator Harga Azure atau menggunakan portal Microsoft Azure. API ini memberi Anda pengalaman yang tidak diautentikasi untuk mendapatkan tarif ritel untuk semua layanan Azure. Gunakan API untuk mengeksplorasi harga untuk layanan Azure terhadap berbagai wilayah dan SKU yang berbeda. API terprogram juga dapat membantu Anda membuat alat Sendiri untuk analisis internal dan perbandingan harga di seluruh SKU dan wilayah.

Penting

Mata uang yang digunakan Microsoft untuk harga semua layanan Azure adalah USD. Harga yang ditunjukkan dalam mata uang USD adalah harga ritel Microsoft. Harga non-USD lain yang dikembalikan oleh API adalah untuk referensi Anda untuk membantu Anda memperkirakan pengeluaran anggaran.

Versi pratinjau

Anda dapat menggunakan versi API pratinjau 2023-01-01 baru di https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview. Versi pratinjau kompatibel mundur dengan versi API sebelumnya. URL mengembalikan set meteran lengkap, termasuk meteran primer dan meter nonprimary.

Menggunakan salah satu https://prices.azure.com/api/retail/prices atau https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview mengembalikan set meter penuh.

Tarif untuk paket penghematan hanya tersedia dengan https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview versi .

Pemfilteran meteran primer

Anda dapat membatasi respons untuk hanya mengambil harga meteran primer dengan:

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

Pemfilteran meteran primer didukung oleh 2021-10-01 dan versi API yang lebih baru termasuk 2023-01-01.

Nilai filter peka huruf besar/kecil

Di versi API sebelumnya, nilai filter tidak peka huruf besar/kecil. Namun, dalam versi dan yang 2023-01-01-preview lebih baru, nilainya peka huruf besar/kecil.

Contohnya:

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

Di versi API sebelumnya, Virtual Machines dan virtual machines berfungsi.

Sekarang, hanya Virtual Machines bekerja.

Dukungan paket penyimpanan Azure

Seperti yang disebutkan sebelumnya, harga ritel paket penghematan Azure hanya didukung dengan versi pratinjau (https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview). Untuk meter yang memenuhi syarat untuk rencana penghematan, hasil memiliki bagian yang sesuai untuk rencana penghematan. Ketika Anda berkomitmen pada paket penghematan, Anda mendapatkan harga yang lebih murah daripada OnDemand harga. Untuk informasi selengkapnya tentang paket penghematan Azure, lihat Dokumentasi paket penghematan Azure.

Berikut adalah contoh respons API dengan informasi rencana penghematan:


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

Titik akhir API

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

Panggilan sampel API

Berikut adalah beberapa contohnya:

Contoh panggilan yang difilter hanya untuk komputer virtual:

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

Contoh panggilan yang difilter hanya untuk reservasi:

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

Contoh panggilan yang difilter untuk komputer virtual instans cadangan:

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

Contoh panggilan yang difilter untuk sumber daya komputasi:

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

Contoh panggilan yang difilter untuk komputasi dengan mata uang dalam euro:

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

Contoh respons API

Berikut adalah sampel respons API, tanpa harga reservasi.

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

Berikut adalah sampel respons API dengan harga reservasi dan jangka waktu dalam respons.

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

Berikut adalah respons sampel dengan mata uang 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"
}

Penomoran halaman respons API

Respons API menyediakan penomoran halaman. Untuk setiap permintaan API, maksimum 1.000 rekaman dikembalikan. Di akhir respons API, ia memiliki tautan ke halaman berikutnya. Contohnya:

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

Detail properti API

Berikut adalah semua detail properti yang merupakan bagian dari respons API.

Bidang Contoh Nilai Definisi
currencyCode USD Mata uang di mana tarif ditentukan dan mengembalikan harga dalam USD kecuali ditentukan.
tierMinimumUnits 0 Unit konsumsi minimum untuk memanfaatkan harga
reservationTerm 1 tahun Jangka waktu reservasi – satu tahun atau tiga tahun
retailPrice 0.176346 Harga tanpa diskon
unitPrice 0.176346
armRegionName westeurope Wilayah Azure Resource Manager tempat layanan tersedia. Versi ini hanya mendukung harga di Cloud Komersial.
Location Eropa Barat Pusat data Azure tempat sumber daya disebarkan
effectiveStartDate 2020-08-01T00:00:00Z Bidang opsional. Menunjukkan tanggal kapan harga eceran efektif.
meterId 000a794b-bdb0-58be-a0cd-0c3a0f222923 Pengidentifikasi unik sumber daya
meterName F16s Spot Nama meteran
productid DZH318Z0BQPS UniqueID produk
skuId DZH318Z0BQPS/00TG UniqueID untuk SKU
productName Virtual Machines FS Series Windows Nama produk
skuName F16s Spot Nama SKU
serviceName Komputer Virtual Nama layanan
serviceId DZH313Z7MMC8 UniqueID layanan
serviceFamily Compute Keluarga layanan SKU
unitOfMeasure 1 jam Cara penggunaan diukur untuk layanan
Type DevTestConsumption Jenis konsumsi meteran. Jenis lainnya adalah Reservation dan Consumption.
isPrimaryMeterRegion True Menunjukkan apakah wilayah meteran ditetapkan sebagai meteran utama atau tidak. Pengukur utama digunakan untuk biaya dan penagihan.
armSkuName Standar_F16s Nama SKU yang terdaftar di Azure
term 3 Tahun Panjang jangka waktu untuk paket penghematan Azure, yang terkait dengan savingsPlan informasi.

Filter API

Filter didukung untuk bidang berikut:

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

Anda menambahkan filter ke titik akhir API, seperti yang ditunjukkan dalam panggilan sampel API.

Mata uang yang didukung

Anda menambahkan kode mata uang ke titik akhir API, seperti yang ditunjukkan dalam panggilan sampel API.

Kode mata uang Detail
USD Dolar AS
Biaya aud Dolar Australia
Biaya brl Real Brasil
CAD Dolar Kanada
Biaya chf Franc Swiss
Biaya cny Yuan Cina
DKK Krone Denmark
EUR Euro
Biaya gbp Pound Inggris
Biaya inr Rupee India
JPY Yen Jepang
KRW Won Korea
Biaya nok Krone Norwegia
Biaya nzd Dolar Selandia Baru
Biaya rub Rubel Rusia
Biaya sek Krona Swedia
Biaya twd Dolar Taiwan

Contoh Terprogram

Aplikasi python sederhana berikut menggunakan API untuk mengkueri harga spot ritel komputer virtual dari SKU NP20 standar di wilayah US Tengah Selatan. Aplikasi memfilter output kueri dan menyajikan informasi yang diinginkan dalam format tabel.

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

Menjalankan kode ini menghasilkan output berikut:

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

Langkah berikutnya