Azure Retail の価格の概要

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

重要

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

プレビュー バージョン

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

または https://prices.azure.com/api/retail/prices?api-version=2023-01-01-previewhttps://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&meterRegion='primary'

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

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

以前の 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'

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

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 指定しない限り、レートが定義され、米国ドルで価格が返される通貨。
tierMinimumUnits 0 価格を利用するための消費量の最小単位
reservationTerm 1 年 予約期間 – 1 年または 3 年
retailPrice 0.176346 割引なしの価格
unitPrice 0.176346
armRegionName westeurope サービスが利用可能な Azure Resource Manager リージョン。 このバージョンでは、Commercial Cloud の価格のみがサポートされています。
Location 西ヨーロッパ リソースがデプロイされている 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 Compute SKU のサービス ファミリ
unitOfMeasure 1 時間 サービスの使用状況の測定方法
Type DevTestConsumption 測定の消費量の種類。 その他の型は ReservationConsumptionです。
isPrimaryMeterRegion True 測定領域がプライマリ メーターとして設定されているかどうかを示します。 プライマリ メーターは、料金と課金に使用されます。
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 エンドポイントにフィルターを追加します。

サポートされる通貨

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

Currency code 詳細
USD 米ドル
Aud オーストラリアドル
レアル ブラジルレアル
Cad カナダドル
Chf スイスフラン
人民 元 中国人民元
デンマーククローネ デンマーク クローネ
ユーロ ユーロ
ポンド 英国ポンド
Inr インドルピー
日本円
ウォン 韓国語ウォン
Nok ノルウェー クローネ
Nzd ニュージーランドドル
こする ロシアルーブル
Sek スウェーデン クローナ
TWD 台湾ドル

プログラムの例

次の単純な 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         |
+----------------+----------------+-------------------+----------------+------------+------------------------------------+

次の手順