企業ユーザー向けの Reporting API - 使用状況の詳細

注意

2024 年 5 月 1 日に、Azure Enterprise Reporting API は廃止されます。 残りのエンタープライズ レポート API は、要求への応答を停止します。 お客様は、その前に Microsoft Cost Management API の使用に移行する必要があります。 詳細については、 Azure Enterprise Reporting から Microsoft Cost Management API への移行の概要に関するページを参照してください。

この API では、特定のリソースに対して最大 400 個のタグ文字を持つ使用状況レコードのみがサポートされます。 最大タグ数を超えるレコードがある場合、API は失敗する可能性があります。 この問題が発生した場合は、エクスポートまたは Exports API に移行します。

Usage Detail API を使用すると、毎日の消費量の内訳と加入契約別の推定料金が提示されます。 この結果には、インスタンス、測定、および部署に関する情報も含まれています。 この API では、請求期間または指定された開始日と終了日によってクエリを実行できます。

追加する必要がある一般的なヘッダー プロパティについては、Enterprise 顧客向けの Reporting API の概要に関する記事をご覧ください。 カスタム期間の範囲は、開始日および終了日パラメーターを yyyy-MM-dd 形式で指定します。

CSV 形式

以下に示す API は、CSV 形式のデータを提供します。

同期呼び出し (非ポーリング)

REST API 呼び出しの応答として CSV 形式でデータを返します。 API のパフォーマンスは、呼び出しによって返される使用状況データの量に依存し、最大 60 分かかる場合があります。 API ではカスタム日付範囲がサポートされていますが、その期間の使用状況データの量に基づいて制限することをお勧めします。 最大 1 か月のサポートが可能です。

メソッド 要求 URI のダウンロード
GET https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/download?billingPeriod={billingPeriod}
GET https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/download?startTime=2017-01-01&endTime=2017-01-10

非同期呼び出し (ポーリング ベース)

この呼び出しは、最初に特定の時間範囲に対して要求を送信してから、CSV データを含む Azure BLOB の場所の共有アクセス キーベースの URL を取得するためにポーリングする必要がある 2 段階のプロセスです。 ここでサポートされている最大時間は 36 か月です。 大規模なデータセットには、この API をお勧めします。

メソッド 要求 URI の送信
POST https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/submit?billingPeriod={billingPeriod}
POST https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails/submit?startTime=2017-04-01&endTime=2017-04-10

非同期 (ポーリング) 送信呼び出しの応答

    {
        "id": "string",
        "enrollmentNumber":"string",
        "requestedOn":"2017-08-29T06:56:29.1290704Z",
        "status":1,
        "blobPath":"",
        "reportUrl":"string",
        "startDate":"2017-06-01T00:00:00",
        "endDate":"2017-06-30T00:00:00"
    }
非同期呼び出し応答プロパティ定義
プロパティ名 Type 説明
id string 要求の一意の ID。
enrollmentNumber string 要求が行われた登録番号。
requestedOn string 要求が行われた日時。
status INT 要求の状態を示します。 Queued = 1、InProgress = 2、Completed = 3、Failed = 4、NoDataFound = 5、ReadyToDownload=6、TimedOut = 7。
blobPath string csv BLOB への共有アクセス キー URL。
reportUrl string 送信要求の状態をポーリングするために使用できる URL。
startDate string 送信呼び出しの実行中に使用される時間範囲の先頭に対応します。
endDate string 送信呼び出しの実行中に使用される時間範囲の終了に対応します。

reportUrl は、さらにポーリング呼び出し (GET 操作) に使用できる URL です。 ポーリング要求の応答の状態フィールドが 3 として返されると、要求は完了します。 応答に blobPath フィールドがあり、CSV データを指す URL が設定されています。 BLOB は、応答の requestedOn フィールドの日時から 1 日間使用できます。 状態 4、5、7 は、API 呼び出しがエラー状態に達したエラー状態です。 その他の状態の場合は、ポーリング呼び出しを繰り返す必要があります。

JSON 形式

以下に示す API は、JSON 形式のデータを提供します。 請求期間が指定されていない場合は、現在の請求期間に対するデータが返されます。 サポートされている最大の時間範囲は、36 か月間です。

Method 要求 URI
GET https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetails
GET https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/billingPeriods/{billingPeriod}/usagedetails
GET https://consumption.azure.com/v3/enrollments/{enrollmentNumber}/usagedetailsbycustomdate?startTime=2017-01-01&endTime=2017-01-10

注意

以前のバージョンの API を使用するには、上記の URL で v3 を v2 に置き換えます。 v2 を使用する場合、一部のフィールドは使用できません。

Response

大量のデータが発生する可能性があるため、結果セットはページングされます。 nextLink プロパティ (ある場合) は、データの次のページへのリンクを指定します。 リンクが空の場合は、最後のページであることを示します。

    {
        "id": "string",
        "data": [
            {
                "serviceName":"Storage",
                "serviceTier":"Premium Page Blobs",
                "location":"US West",
                "chargesBilledSeparately":false,
                "partNumber":"ABC-12345",
                "resourceGuid":"00000000-0000-0000-0000-000000000000",
                "offerId":"MS-AZR-0003P",
                "cost":1,
                "accountId":123456,
                "productId":1234,
                "resourceLocationId":12,
                "consumedServiceId":1,
                "departmentId":3456,
                "accountOwnerEmail":"account@live.com",
                "accountName":"Account Name",
                "serviceAdministratorId":"123",
                "subscriptionId":0000000,
                "subscriptionGuid":"00000000-0000-0000-0000-000000000000",
                "subscriptionName":"Subscription Name",
                "date":"2018-08-01T00:00:00",
                "product":"Locally Redundant Storage Premium Storage - Page Blob/P10 - US West",
                "meterId":"00000000-0000-0000-0000-000000000000",
                "meterCategory":"Storage",
                "meterSubCategory":"Locally Redundant",
                "meterRegion":"California",
                "meterName":"Premium Storage - Page Blob/P10 (Units)",
                "consumedQuantity"1,
                "resourceRate":1,
                "resourceLocation":"uswest",
                "consumedService":"Microsoft.Compute",
                "instanceId":"Id",
                "serviceInfo1":"string",
                "serviceInfo2":"string",
                "additionalInfo":"string",
                "tags":"string",
                "storeServiceIdentifier":"string",
                "departmentName":"Department Name",
                "costCenter":"1234",
                "unitOfMeasure":"Units",
                "resourceGroup":"ResourceGroup"
            }
        ],
        "nextLink": "string"
    }

使用状況の詳細フィールド定義

プロパティ名 Type 説明
id string API 呼び出しの一意の ID。
data JSON 配列 各インスタンス\メーターに対する毎日の使用状況詳細の配列。
nextLink string データに複数のページがある場合、nextLink はデータの次のページを返す URL を示します。
accountId INT 古いフィールド。 旧バージョンとの互換性のために存在します。
productId INT 古いフィールド。 旧バージョンとの互換性のために存在します。
resourceLocationId INT 古いフィールド。 旧バージョンとの互換性のために存在します。
consumedServiceId INT 古いフィールド。 旧バージョンとの互換性のために存在します。
departmentId INT 古いフィールド。 旧バージョンとの互換性のために存在します。
accountOwnerEmail string アカウント所有者の電子メール アカウント。
accountName string 顧客が入力したアカウントの名前。
serviceAdministratorId string サービス管理者のメール アドレス。
subscriptionId INT 古いフィールド。 旧バージョンとの互換性のために存在します。
subscriptionGuid string サブスクリプションのグローバル一意識別子。
subscriptionName string サブスクリプションの名前。
date string 消費が発生した日付。
product string メーターの追加情報。
meterId string 使用状況を出力したメーターの識別子。
meterCategory string 使用した Azure プラットフォーム サービス。
meterSubCategory string 料金に影響する Azure サービスの種類を定義します。
meterRegion string データセンターの場所に基づいて価格が設定されるサービスについて、データセンターの場所を示します。
meterName string メーターの名前。
consumedQuantity double 消費されたメーターの量。
resourceRate double 課金対象項目ごとに適用されるレート。
cost double メーターで発生した料金。
resourceLocation string メーターが実行されているデータ センターを示します。
consumedService string 使用した Azure プラットフォーム サービス。
instanceId string この識別子はリソース名または完全修飾リソース ID です。 詳細については、Azure Resource Manager API に関するページを参照してください。
serviceInfo1 string Azure サービスの内部メタデータ。
serviceInfo2 string たとえば、仮想マシンのイメージの種類や ExpressRoute の ISP 名です。
additionalInfo string サービス固有のメタデータ。 たとえば、仮想マシンのイメージの種類です。
tags string 顧客が追加したタグ。 詳細については、タグを使用した Azure リソースの整理に関するページを参照してください。
storeServiceIdentifier string この列は使用されません。 旧バージョンとの互換性のために存在します。
departmentName string 部署の名前。
costCenter string 使用状況が関連付けられているコスト センター。
unitOfMeasure string サービスが課金される単位を特定します。 例: GB、時間数、10,000 単位
resourceGroup string デプロイされたメーターが実行されているリソース グループ。 詳細については、「Azure Resource Manager の概要」を参照してください。
chargesBilledSeparately string 年額コミットメントの外部で請求される料金。
location string サービスがデプロイされた場所。
offerId string サービスに対する OfferId。
partNumber string サービスの SKU 番号。
ResourceGUID string 使用状況を出力したメーターの識別子。
serviceTier string サービス レベル。
serviceName string サービス名:

レート制限

お客様全体で一貫したエクスペリエンスを実現するために、すべての使用状況 API は登録レベルでレート制限されます。 上限に達すると、HTTP 状態コード 429 Too many requests が返されます。 15 分間隔の現在のスループットは次のとおりです。

API レート制限
NextPage 1000
ダウンロード 50
ポーリング 180
送信 20

こちらもご覧ください