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
- Pelajari tentang API Cost Management lainnya.