Azure Enterprise REST API
この記事では、Azure エンタープライズ登録で使用する REST API について説明します。 また、REST API に関する一般的な問題の解決方法についても説明します。
Consumption API と Usage API
Microsoft Enterprise Azure のお客様は、REST API を使用して使用状況と課金情報を取得できます。 ロール所有者 (エンタープライズ管理者、部署管理者、アカウント オーナー) は、Azure portal からキーを生成することによって、API へのアクセスを有効にする必要があります。 その後、登録番号とキーを提供されたユーザーは、API を使用してデータにアクセスできます。
利用可能な API
Balance and Summary - Balance and Summary API では、残高、新規購入、Azure Marketplace サービス料金、精算、および超過料金に関する情報の月次概要が提供されます。 詳細については、「Reporting APIs for Enterprise customers - Balance and Summary (Enterprise のお客様向けの Reporting API - Balance and Summary)」を参照してください。
Usage Details - Usage Detail API では、登録別の毎日の消費量の内訳と見積料金が提供されます。 この結果には、インスタンス、測定、および部署に関する情報も含まれています。 この API には、請求期間、または指定した開始日と終了日でクエリを実行できます。 詳細については、「Reporting APIs for Enterprise customers - Usage Details (Enterprise のお客様向けの Reporting API - Usage Details)」を参照してください。
Marketplace Store Charge - Marketplace Store Charge API では、指定された請求期間または開始日から終了日までの使用量に基づく Marketplace 料金の日別内訳が返されます。 詳細については、「Reporting APIs for Enterprise customers - Marketplace Store Charge (Enterprise のお客様向けの Reporting API - Marketplace Store Charge)」を参照してください。
Price sheet - Price Sheet API では、登録と請求期間に対する各測定に適用される課金率が提供されます。 詳細については、「Reporting APIs for Enterprise customers - Price Sheet (Enterprise のお客様向けの Reporting API - Price Sheet)」を参照してください。
Billing Periods - Billing Periods API では、登録の消費量データが記載された請求期間の一覧が逆時系列順に返されます。 各期間には、BalanceSummary、UsageDetails、Marktplace Charges および PriceSheet という 4 セットのデータの API ルートを示すプロパティが含まれています。 詳細については、「Reporting APIs for Enterprise customers - Billing Periods (Enterprise のお客様向けの Reporting API - Billing Periods)」を参照してください。
API キーの生成
ロール所有者は、Azure portal で次の手順を実行して、API データ アクセスを有効にできます。
- Azure portal にサインインします。
- [コストの管理と請求] を検索し、それを選択します。
- ナビゲーション メニューから [課金スコープ] を選択してから、操作する課金アカウントを選択します。
- 左側のナビゲーション メニューで、[使用量 + 請求金額] を選択します。
- [Manage API Access Keys](API アクセス キーの管理) を選択して、[Manage API Access Keys](API アクセス キーの管理) ウィンドウを開きます。
[Manage API Access Keys](API アクセス キーの管理) ウィンドウでは、次のタスクを実行できます。
- プライマリとセカンダリ アクセス キーを生成して表示する
- アクセス キーの開始日と終了日を表示する
- アクセス キーを無効にする
Note
- 加入契約管理者の場合は、加入契約レベルでは [使用量 + 請求金額] ブレードからのみキーを生成でき、アカウントと部署レベルでは生成できません。
- 部署所有者のみである場合は、部門レベル、およびアカウント所有者であるアカウント レベルでも生成できます。
- アカウント オーナーのみである場合は、アカウント レベルでのみキーを生成できます。
プライマリまたはセカンダリ API キーを生成する
- エンタープライズ管理者として Azure portal にサインインします。
- [コストの管理と請求] を選択します。
- ナビゲーション メニューから [課金スコープ] を選択してから、操作する課金アカウントを選択します。
- ナビゲーション メニューで、[使用量 + 請求金額] を選択します。
- [Manage API Access Keys](API アクセス キーの管理) を選択します。
- [生成] を選択してキーを生成します。
- 展開記号を選択するか、[コピー] を選択して API アクセス キーを取得し、すぐに使用できるようにします。
プライマリまたはセカンダリ API キーを再生成する
- エンタープライズ管理者として Azure portal にサインインします。
- [コストの管理と請求] を選択します。
- ナビゲーション メニューから [課金スコープ] を選択してから、操作する課金アカウントを選択します。
- ナビゲーション メニューで、[使用量 + 請求金額] を選択します。
- [Manage API Access Keys](API アクセス キーの管理) を選択します。
- [再生成] を選択してキーを再生成します。
プライマリまたはセカンダリ API キーを取り消す
- エンタープライズ管理者として Azure portal にサインインします。
- [コストの管理と請求] を検索して選択します。
- ナビゲーション メニューから [課金スコープ] を選択してから、操作する課金アカウントを選択します。
- ナビゲーション メニューで、[使用量 + 請求金額] を選択します。
- [Manage API Access Keys](API アクセス キーの管理) を選択します。
- [取り消し] を選択してキーを取り消します。
管理者以外に API アクセスを許可する
登録のエンタープライズ管理者ではないユーザーに API アクセス キーを付与するには、次の手順を実行します。
この手順によって、API アクセスがキー保有者に付与され、使用状況レポートのコスト情報と価格情報を表示できるようになります。
- 左側のナビゲーション ウィンドウで、[ポリシー] を選択します。
- [部門管理者は料金を表示できる] セクションで [オン] を選択し、[保存] を選択します。
- [アカウント所有者は料金を表示できる] セクションで [オン] を選択し、[保存] を選択します。
API にキーを渡す
認証と承認をそれぞれ呼び出すために API キーを渡します。 次のプロパティを HTTP ヘッダーに渡します。
要求ヘッダー キー | Value |
---|---|
承認 | 次の形式で値を指定します:bearer {API_KEY} |
例: bearer <APIKey> |
Swagger
次の API 用の Swagger エンドポイントは、Enterprise Reporting v3 APIs で入手できます。 Swagger は API の検査に役立ちます。 Swagger を使用して、AutoRest または Swagger CodeGen を使用したクライアント SDK を生成します。 2014 年 5 月 1 日以降に利用可能なデータは、API を通じて入手できます。
API 応答コード
API を使用しているときに、応答の状態コードが表示されます。 次の表ではこれらについて説明します。
応答の状態コード | Message | 説明 |
---|---|---|
200 | [OK] | エラーなし |
401 | 権限がありません | API キーが検出されない、正しくない、有効期限が切れている、など |
404 | 使用不可 | レポートのエンドポイントが見つからない |
400 | 正しくない要求 | 無効なパラメーター - 日付範囲、EA 番号など。 |
500 | サーバー エラー | 要求の処理中に予期しないエラーが発生した |
使用状況データと課金データの更新頻度
使用状況データ ファイルと課金データ ファイルは、現在の請求月に対して 24 時間ごとに更新されます。 ただし、最大で 3 日間のデータ待機時間が発生する可能性があります。 たとえば、月曜日に使用量が発生した場合、データ ファイルには木曜日までデータが表示されないことがあります。
Azure サービス カタログ
価格シートのダウンロードの一環として、Azure portal 内ですべての Azure サービスをダウンロードできます。 価格シートのダウンロードの詳細については、「マイクロソフト エンタープライズ契約の価格をダウンロードする」を参照してください。
CSV データ ファイルの詳細
ここでは、API レポートのプロパティについて説明します。
使用状況の概要
JSON 形式は CSV レポートから生成されます。 そのため、形式は概要の CSV 形式と同じになります。 列名が使用されるため、JSON 概要データを使用するときはデータ テーブルに逆シリアル化する必要があります。
CSV の列名 | JSON の列名 | JSON の新しい列 | コメント |
---|---|---|---|
AccountOwnerId | AccountOwnerLiveId | AccountOwnerLiveId | |
アカウント名 | AccountName | AccountName | |
ServiceAdministratorId | ServiceAdministratorLiveId | ServiceAdministratorLiveId | |
SubscriptionId | SubscriptionId | SubscriptionId | |
SubscriptionGuid | MOSPSubscriptionGuid | SubscriptionGuid | |
サブスクリプション名 | SubscriptionName | SubscriptionName | |
Date | Date | Date | サービス カタログ レポートが実行された日付を示します。 形式は、タイム スタンプのない日付文字列です。 |
月 | 月 | Month | |
日 | 日 | 日 | |
年 | 年 | 年 | |
Product | BillableItemName | Product | |
Meter ID | ResourceGUID | MeterId | |
測定カテゴリ | サービス | MeterCategory | サービスを検索する際に役立ちます。 複数の ServiceType を持つサービスに関連します。 例: Virtual Machines。 |
Meter Sub-Category | ServiceType | MeterSubCategory | サービスの 2 番目の詳細レベルを提供します。 例: A1 VM (Windows 以外)。 |
Meter Region | ServiceRegion | MeterRegion | サービスに必要な 3 番目の詳細レベル。 ResourceGUID のリージョン コンテキストを検索する際に役立ちます。 |
Meter Name | ServiceResource | MeterName | サービスの名前。 |
Consumed Quantity | ResourceQtyConsumed | ConsumedQuantity | |
ResourceRate | ResourceRate | ResourceRate | |
ExtendedCost | ExtendedCost | ExtendedCost | |
Resource Location | ServiceSubRegion | ResourceLocation | |
Consumed Service | ServiceInfo | ConsumedService | |
インスタンス ID | コンポーネント | InstanceId | |
ServiceInfo1 | ServiceInfo1 | ServiceInfo1 | |
ServiceInfo2 | ServiceInfo2 | ServiceInfo2 | |
AdditionalInfo: | AdditionalInfo: | AdditionalInfo: | |
Tags | タグ | Tags | |
Store Service Identifier | OrderNumber | StoreServiceIdentifier | |
Department Name | DepartmentName | DepartmentName | |
Cost Center | CostCenter | CostCenter | |
計算単位 | UnitOfMeasure | UnitOfMeasure | サンプル値: 時間、GB、イベント、プッシュ、ユニット、ユニット時間、MB、日割りユニット |
ResourceGroup | ResourceGroup | ResourceGroup |
Azure Marketplace レポート
CSV の列名 | JSON の列名 | JSON の新しい列 |
---|---|---|
AccountOwnerId | AccountOwnerId | AccountOwnerId |
アカウント名 | AccountName | AccountName |
SubscriptionId | SubscriptionId | SubscriptionId |
SubscriptionGuid | SubscriptionGuid | SubscriptionGuid |
サブスクリプション名 | SubscriptionName | SubscriptionName |
Date | BillingCycle | Date (日付文字列のみ。タイム スタンプなし) |
月 | 月 | Month |
日 | 日 | 日 |
年 | 年 | 年 |
Meter ID | MeterResourceId | MeterId |
発行元の名前 | PublisherFriendlyName | 発行元 |
プラン名 | OfferFriendlyName | OfferName |
Plan Name | PlanFriendlyName | PlanName |
Consumed Quantity | BilledQty | ConsumedQuantity |
ResourceRate | ResourceRate | ResourceRate |
ExtendedCost | ExtendedCost | ExtendedCost |
計算単位 | UnitOfMeasure | UnitOfMeasure |
インスタンス ID | InstanceId | InstanceId |
追加情報 | AdditionalInfo: | AdditionalInfo: |
Tags | タグ | Tags |
Order Number | OrderNumber | OrderNumber |
Department Name | DepartmentNames | DepartmentName |
Cost Center | CostCenters | CostCenter |
リソース グループ | ResourceGroup | ResourceGroup |
Price Sheet
CSV の列名 | JSON の列名 | コメント |
---|---|---|
サービス | サービス | 価格に変更はありません |
計算単位 | UnitOfMeasure | |
Overage Part Number | ConsumptionPartNumber | |
Overage Unit Price | ConsumptionPrice | |
通貨コード | CurrencyCode |
API に関する一般的な問題
Azure Enterprise REST API を使用すると、次のような一般的な問題が発生する可能性があります。
適切な承認の種類がない API キーを使用しようとしている可能性があります。 API キーは次のユーザーによって生成されます。
- エンタープライズ管理者
- 部門管理者 (DA)
- アカウント所有者 (AO)
EA 管理者によって生成されたキーを使用すると、その登録に関するすべての情報にアクセスできます。 読み取り専用の EA 管理者は API キーを生成できません。
DA または AO によって生成されたキーでは、残高、料金、価格シートの各情報にはアクセスできません。
API キーは 6 か月ごとに有効期限が切れます。 期限切れになった場合は、再生成する必要があります。
タイムアウト エラーが発生した場合は、タイムアウトしきい値の上限を増やすことで解決できます。
401 (未承認) 期限切れエラーが発生することがあります。 このエラーは、通常、期限切れのキーが原因で発生します。 キーの有効期限が切れている場合は、キーを再生成することができます。
選択した日付範囲に使用できる最新データがない場合、API 呼び出しから 400 および 404 (利用不可) エラーが返されることがあります。 たとえば、登録の転送が最近開始されたために、このエラーが発生することがあります。 特定の日付以降のデータは、新しい登録に格納されます。 それ以外に、新しい登録番号を使用して古い登録に存在する情報を取得しようとすると、エラーが発生することがあります。
次のステップ
- Azure EA 管理者は、「Azure portal での EA 課金管理」を読む必要があります。