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 は、プライマリ メーターと非プライマリ メーターを含むメーターの完全なセットを返します。

または 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サポートされています。

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 要求ごとに、最大 100 個のレコードが返されます。 API 応答の最後には、次のページへのリンクがあります。 次に例を示します。

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

API プロパティの詳細

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

フィールド サンプル値 定義
currencyCode USD 指定しない限り、レートが定義され、価格が米国ドルで返される通貨。
tierMinimumUnits 0 価格を利用するための消費量の最小単位
reservationTerm 1 年 予約期間 – 1 年または 3 年
retailPrice 0.176346 割引のない価格
unitPrice 0.176346
armRegionName westeurope サービスが利用可能な Azure Resource Manager リージョン。 このバージョンでは、商用クラウドの価格のみがサポートされています。
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 シリーズ ウィンドウ 製品名
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         |
+----------------+----------------+-------------------+----------------+------------+------------------------------------+

次のステップ