Azure 小売価格の概要

Azure のお客様は、すべての Azure サービスの小売価格をプログラムで取得する方法を探してきました。 これで、Retail Rates Prices API を使用して、すべての Azure サービスの小売価格を取得できます。 以前は、Azure サービスの価格を取得できる唯一の方法は、Azure 料金計算ツールを使用するか、Azure portal を使用することでした。 この API を使用すると、認証されていないエクスペリエンスを使用して、すべての Azure サービスの小売料金を取得できます。 API を使用して、さまざまなリージョンと異なる SKU に対する Azure サービスの価格を調べます。 プログラム API は、SKU とリージョン間の内部分析と価格比較のための独自のツールを作成するのにも役立ちます。

大事な

Microsoft がすべての Azure サービスの価格を設定するために使用する通貨は USD です。 USD 通貨で表示される価格は、Microsoft の小売価格です。 API によって返されるその他の米国ドル以外の価格は、予算経費を見積もるのに役立つ参照用です。

プレビュー バージョン

新しい 2023-01-01-preview API バージョンは、https://prices.azure.com/api/retail/prices?api-version=2023-01-01-previewで使用できます。 プレビュー バージョンは、以前の API バージョンと下位互換性があります。 URL は、プライマリ メーターと非primary メーターを含むメーターの完全なセットを返します。

https://prices.azure.com/api/retail/prices または https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview を使用すると、メーターの完全なセットが返されます。

割引プランの料金は、https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview バージョンでのみ利用できます。

プライマリ メーターのフィルター処理

以下を使用して、プライマリ メーターの価格のみを取得するように応答を制限できます。

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

プライマリ メーターのフィルター処理は、2023-01-01を含む 2021-10-01 以降の API バージョンでサポートされています。

フィルター値では大文字と小文字が区別されます

以前のバージョンの API では、フィルター値では大文字と小文字が区別されませんでした。 ただし、2023-01-01-preview バージョン以降では、値では大文字と小文字が区別されます。

例えば:

https://prices.azure.com/api/retail/prices?$filter=serviceName eq 'Virtual Machines' 機能します。

以前のバージョンの API では、Virtual Machinesvirtual machines が機能しました。

これで、Virtual Machines のみが機能します。

Azure 保存プランのサポート

前述のように、Azure の節約プランの小売価格は、プレビュー バージョン (https://prices.azure.com/api/retail/prices?api-version=2023-01-01-preview) でのみサポートされます。 節約計画の対象となるメーターの場合、結果には節約計画に対応するセクションがあります。 節約計画にコミットすると、OnDemand 価格よりも安い価格が得られます。 Azure の節約プランの詳細については、Azure の節約プランのドキュメント参照してください。

節約プラン情報を含む API 応答の例を次に示します。


        {
            "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 エンドポイント

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

API サンプル呼び出し

いくつかの例を次に示します。

仮想マシンのみに対してフィルター処理された呼び出しの例:

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

予約のみのフィルター処理された呼び出しの例:

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

予約インスタンス仮想マシンでフィルター処理された呼び出しの例:

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

コンピューティング リソース用にフィルター処理された呼び出しの例:

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

API サンプル呼び出しに示すように、API エンドポイントに通貨コードを追加できます。 サポートされている通貨の完全な一覧については、「サポートされている通貨」を参照してください。

ユーロの通貨を使用してコンピューティング用にフィルター処理された呼び出しの例:

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

API 応答の例

予約価格のないサンプル API 応答を次に示します。

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

予約価格と応答の用語を含む API 応答のサンプルを次に示します。

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

米国ドル以外の通貨を使用した応答の例を次に示します。

{
  "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 応答の改ページ位置の変更

API 応答は改ページ位置を提供します。 API 要求ごとに、最大 1,000 個のレコードが返されます。 API 応答の最後には、次のページへのリンクがあります。 例えば:

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

API プロパティの詳細

API 応答の一部であるすべてのプロパティの詳細を次に示します。

値の例 定義
currencyCode USD 指定しない限り、レートが定義され、価格が USD で返される通貨。
tierMinimumUnits 0 価格を利用するための最小消費量
reservationTerm 1 年 予約期間 – 1 年または 3 年
retailPrice 0.176346 割引なしの Microsoft 小売価格
unitPrice 0.176346 retailPrice と同じ
armRegionName westeurope サービスが利用可能な Azure Resource Manager リージョン。 このバージョンでは、Commercial Cloud の価格のみがサポートされています。
Location EU 西部 リソースがデプロイされている Azure データ センター
effectiveStartDate 2020-08-01T00:00:00Z 省略可能なフィールド。 小売価格が有効な日付を表示します。
meterId 000a794b-bdb0-58be-a0cd-0c3a0f222923 リソースの一意識別子
meterName F16s スポット メーターの名前
productid DZH318Z0BQPS 製品の UniqueID
skuId DZH318Z0BQPS/00TG SKU の UniqueID
productName Virtual Machines FS シリーズ Windows 製品名
skuName F16s スポット SKU 名
serviceName Virtual Machines サービスの名前
serviceId DZH313Z7MMC8 サービスの UniqueID
serviceFamily 計算する SKU のサービス ファミリ
unitOfMeasure 1 時間 サービスの使用状況の測定方法
Type DevTestConsumption 測定の消費量の種類。 その他の型は、ReservationConsumptionです。
isPrimaryMeterRegion メーター領域がプライマリ メーターとして設定されているかどうかを示します。 プライマリ メーターは、料金と課金に使用されます。
armSkuName Standard_F16s Azure に登録されている SKU 名
term 3 年 savingsPlan 情報に関連付けられた Azure 節約プランの期間。

API フィルター

フィルターは、次のフィールドでサポートされています。

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

API サンプル呼び出しに示すように、API エンドポイントにフィルターを追加します。

サポートされている serviceFamily 値

次の情報は、サポートされている serviceFamily 値の一覧です。 情報は変更される場合があります。

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

プログラムの例

次の単純な Python アプリケーションでは、API を使用して、米国中南部リージョンの標準 NP20 SKU の仮想マシンの小売スポット価格を照会します。 アプリケーションはクエリの出力をフィルター処理し、必要な情報をテーブル形式で表示します。

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

このコードを実行すると、次の出力が生成されます。

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

次の手順