チュートリアル: Exports API を使用して履歴コスト データセットをシードする

大規模な組織では、多くの場合、1 年以上前の履歴コストを分析する必要があります。 対象となる 1 回限りの問い合わせや、時間の経過に伴うコストの傾向を視覚化するためのレポート ダッシュボードの設定には、データセットの作成が必要になる場合があります。 どちらの場合も、クエリを実行できるデータ ストアにデータを読み込むことができるように、データを確実に取得する方法が必要です。 履歴コスト データセットをシードすると、新しいコストが入った際にデータ ストアが更新され、レポートが最新の状態を維持することができます。 履歴コストが変更されることはほとんどなく、変更された場合は通知されます。 そのため、履歴コストの更新は、月に 1 回以内にすることをお勧めします。

このチュートリアルでは、以下の内容を学習します。

  • サービス プリンシパルのベアラー トークンを取得する
  • 要求の書式を設定する
  • 1 か月分のチャンクで要求を実行する

前提条件

Exports API を正常に呼び出すには、適切なアクセス許可が必要です。 自動化シナリオでは、サービス プリンシパルを使用することをお勧めします。

また、API に直接クエリを実行する方法も必要です。 API にクエリを実行する一般的な方法を次に示します。

サービス プリンシパルのベアラー トークンを取得する

サービス プリンシパルを使用してベアラー トークンを取得する方法については、アクセス トークンの取得に関するページを参照してください。

要求の書式を設定する

次の要求の例を参照し、独自の 1 回限りのデータ エクスポートを作成します。 次の要求の例では、指定した Azure ストレージ アカウントに 1 か月の実績コスト データセットを作成します。 レポートごとに 1 か月以下のデータを要求することをお勧めします。 毎月大きなデータセットがある場合は、1 回限りのエクスポートに partitionData = true を設定して、複数のファイルに分割することをお勧めします。 詳細については、「大規模なデータセットのファイルのパーティション分割」を参照してください。

PUT https://management.azure.com/providers/Microsoft.Billing/billingAccounts/{enrollmentId}/providers/Microsoft.CostManagement/exports/{ExportName}?api-version=2021-10-01

要求ヘッダー

Authorization: <YOUR BEARER TOKEN>
Accept: /*/
Content-Type: application/json

要求本文

{
  "properties": {
    "definition": {
      "dataset": {
        "granularity": "Daily",
        "grouping": []
      },
      "timePeriod": {
        "from": "2021-09-01T00:00:00.000Z",
        "to": "2021-09-30T00:00:00.000Z"
      },
      "timeframe": "Custom",
      "type": "ActualCost"
    },
    "deliveryInfo": {
      "destination": {
        "container": "{containerName}",
        "rootFolderPath": "{folderName}",
        "resourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}"
      }
    },
    "format": "Csv",
    "partitionData": false
  }
}

1 か月分のチャンクでエクスポートを作成する

1 か月のチャンクで 1 回限りのデータ エクスポートを作成することをお勧めします。 1 年間の履歴データセットをシードする場合は、12 個の Exports API 要求 (毎月 1 回) を実行する必要があります。 履歴データセットのシード後、スケジュールされたエクスポートを作成して、時間の経過とともに料金が発生しても Azure Storage にコスト データを引き続き取り込むことができます。

各エクスポートを実行する

毎月のエクスポートを作成したので、Execute API を呼び出してそれぞれを手動で実行する必要があります。 API への要求の例を次に示します。

POST https://management.azure.com/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run?api-version=2021-10-01

次のステップ

このチュートリアルでは、以下の内容を学習しました。

  • サービス プリンシパルのベアラー トークンを取得する
  • 要求の書式を設定する
  • 1 か月分のチャンクで要求を実行する

コストの詳細については、「コスト詳細データを取り込む」を参照してください。

コスト詳細データセットで使用できるデータについて詳しくは、コスト詳細データ フィールドに関するページを参照してください。