OVHcloud API: Billing Data Analysis Configuration
このガイドでは、OVHcloud Billing APIの複数のエンドポイントを設定する手順を提供します
Objective
このガイドでは、OVHcloud Billing APIの複数のエンドポイントを設定する手順を提供します。正確で効率的な財務追跡のために、請求データを取得し、アプリケーションに統合する方法を学びます。
Overview
OVHcloud APIは、複数のエンドポイント設定をサポートしており、相互に接続されたリソースからデータを取得して統合することができます。このガイドでは、OVHcloud Billing APIエンドポイントの設定と利用方法について包括的な手順を提供します。これらの手順に従うことで、請求情報をプログラム的に取得、処理、分析することができます。
Requirements
開始する前に、以下を確認してください:
- 請求アクセス権限のあるアクティブなOVHcloudアカウント
- API認証情報、具体的には:
- アプリケーションキー(App Key)
- アプリケーションシークレット(App Secret)
- コンシューマーキー
- OVHcloud API Developer Portalへのアクセス
- APIエンドポイント相互作用の基本的な理解
Step-by-Step Billing Endpoint Configuration
1. Initialize API Connection
OVHcloud API Connector Documentationに詳しく記載されている認証設定プロセスに従って、OVHcloud API接続を設定します。これは、コネクタのユーザーインターフェースを通じてアプリケーションキー、アプリケーションシークレット、およびコンシューマーキーを取得して安全に入力することを含みます。これらの認証情報の取得と設定についての包括的な手順については、コネクタドキュメントのAPI Connection Detailsセクションを参照してください。
2. Define the billing endpoints
2.1. Retrieve Account Bills IDs
- エンドポイント:
/me/bill - 用途: アカウントのすべての請求書IDのリストを取得
手順:
- コネクタで「新しいエンドポイントを追加」を選択
- エンドポイントパスとして
/me/billを入力 - クエリパラメータを設定(例:年でフィルタリング) - この例では、キー:
date.fromと値:2023を使用し、2023年のレコードを取得します。 - エンドポイントに一意の名前
bills_ids_from_2023があることを確認 - 「確認」と「保存」をクリック
接続されたエンドポイントが正しいかどうかを確認するための追加の手順を含めることができます。この手順は必須ではありませんが、最初の場合は、探しているデータの概要を得るのに役立ちます。
Validate Endpoint Data
- アナライザータブに移動
- 新しいエンドポイントのメタデータを抽出
- 請求記録が正しく取得されていることを確認
2.2. Retrieve Account Bills Details IDs
- エンドポイント:
/me/bill/{billId}/details - 用途: 各請求書行の詳細のIDのリストを取得
手順:
- 「エンドポイントを追加」をクリック
- エンドポイントパスとして
/me/bill/{billId}/detailsを入力 - 複数エンドポイントの選択を設定
- 前の請求書エンドポイントにリンク
- パスパラメータとして
{billId}を選択 - エンドポイントに一意の名前
bills_details_ids_from_2023があることを確認 - 設定を保存
ソース管理を簡素化するために、一意のエンドポイント名を使用してください。これは、ステップ4. レイクハウスにデータをインポートする際に役立ちます。
注意: 現在、1つのパスパラメータのみが動的に選択できます。複数のパスパラメータを持つ複雑なエンドポイントの場合は、手動入力が必要になる場合があります。
設定タブをクリックしてメインコンテナに戻ると、パスパラメータとエンドポイントフィールドが編集不可になっていることに気づくでしょう。これは、それらの値が別のエンドポイントから派生しているためです。変更が必要な場合は、複数のエンドポイントセクションに戻り、エンドポイント選択ドロップダウンから「複数のエンドポイントなし」を選択してください。
2.3. Retrieve Account Bills Details
- エンドポイント:
/me/bill/{billId}/details/{detailsID} - 用途: 各請求書行の詳細を取得
手順:
- 「エンドポイントを追加」をクリック
- エンドポイントパスとして
/me/bill/{billId}/details/{detailsID}を入力 - 複数エンドポイントの選択を設定
- 前の請求書詳細IDエンドポイントにリンク
- パスパラメータとして
{billId}と{detailsID}を選択 - エンドポイントに一意の名前
bills_details_from_2023があることを確認 - 設定を保存
2.4. Retrieve services IDs
- エンドポイント:
/services - 用途: アカウントのすべてのサービスのIDを取得
手順:
- 「エンドポイントを追加」をクリック
- エンドポイントパスとして
/servicesを入力 - エンドポイントに一意の名前
services_idsがあることを確認 - 設定を保存
2.5. Retrieve services information
- エンドポイント:
/services/{serviceId} - 用途: パイプラインのデータを豊かにするためにサービスに関する情報を取得
手順:
- 「エンドポイントを追加」をクリック
- エンドポイントパスとして
/services/{serviceId}を入力 - 複数エンドポイントの選択を設定
- 前のサービスIDエンドポイントにリンク
- パスパラメータとして
{serviceId}を選択 - エンドポイントに一意の名前
servicesがあることを確認 - 設定を保存
エンドポイントの設定はこれで完了です。以下のように表示されるはずです:
3. メタデータの抽出
エンドポイントが設定されたので、Connectors内のアナライザーツールに移動してください。そこで、最近設定したエンドポイントを選択します。システムがこれらのエンドポイントに関連する処理ジョブを開始し、完了するのに時間がかかる場合があります。
このプロセスの所要時間は、タスクの複雑さと処理されるデータ量によって異なります。
3.1. データの書式変更
ソースから抽出したデータは、ブループリントを通じてバケット化するか、または私たちが望む正確な形式に合わせて変更できます。これは、2つのエンドポイントについて行う予定です。
bills_details_from_2023services
3.1.1. 請求明細の書式変更
APIのフィールドperiodstartは、YYYY-MM-DD形式の値です。DDは、サービスを購入した日によって月内の任意の日になります。この日を各月の1日に設定するために、ブループリントを使用します。
データ分析の右上にあるNew Ruleをクリックし、Date formatを選択します。
ブループリントの設定画面に移動しました。以下のように入力してください。
- 属性:
periodstart - 現在の日付形式:
%Y-%m-%d - 置き換え:
%Y-%m-01 - 条件:
Is not null
確認をクリックすると、periodstartに1つのブループリントがあることがわかります。
3.1.2. サービスの書式変更
servicesエンドポイントの多くの日付時刻フィールドには、タイムゾーン情報が含まれています。このタイムゾーン情報を日付時刻から削除するために、Date Formatブループリントを使用して、すべての日付を書式変更します。
servicesエンドポイントに移動し、New ruleをクリックし、Date formatを選択します。
ブループリントの設定画面に移動しました。以下のように入力してください。
- 属性:
billing_next_billingdate - 現在の日付形式:
%Y-%m-%dT%H:%M:%S%z - 置き換え:
%Y-%m-%dT%H:%M:%S - 条件:
All
次の属性についても同じ操作を繰り返すことができます。
billing_expirationdatebilling_lifecycle_current_terminationdatebilling_lifecycle_current_creationdatebilling_renew_current_nextdate
4. データをレイクハウスにインポート
データソースが設定されたので、テーブルを構築することができます。Lakehouse ManagerとTablesセクションに移動し、+とCreate from a Connectors sourceをクリックします。
最初のテーブルはbills_details_from_2023データソースを使用してポップレートされます。Nextをクリックし、テーブルをraws_bills_detailsにリネームし、Createをクリックします。
サービスを専用のテーブルにインポートすることもできます。
5. サービスにタグを追加
費用をカテゴリ分けするために、サービスにタグを付けてカテゴリ分けしたいと思います。タグは、技術環境(例:本番、開発)や会社の部門、またはお客様を表すことができます。
最初にカテゴリ分けするサービスのリストを抽出するには、Lakehouse Manager内のExplorerセクションに移動できます。
データでdomainを選択し、selectをクリックし、select_distinctに置き換え、RUNをクリックします。
次のような結果が得られるはずです。
DownloadとAs a CSVをクリックできます。これで、タグを付ける必要があるすべてのリソースが含まれた最初のCSVファイルが得られます。開き、列select_distinct_domainをdomainにリネームし、2番目の列tagを追加し、タグを付けたい各ドメインについて、希望する値を追加します。次のようなCSVファイルが得られるはずです。
このCSVファイルをConnectorsに新しいデータソースを追加し、レイクハウスからテーブルを作成する時が来ました。Connectors -> sources -> New Source -> File Uploadに移動できます。新しいソースをDomains Taggedと名付け、CSVファイルを追加し、createボタンをクリックします。
この新しいソースからテーブルを作成するには、Lakehouse ManagerとTablesセクションに戻り、テーブルをdomains_tagsと名付けるように注意してください。
また、アナライザーに移動してデータが正しく評価されているか確認し、タグにブループリントを追加して、空の値をunknownに置き換えることもできます。new rule、Replace Byをクリックします。フォームに以下のように入力します。
- 属性:
tag - 置き換え:
unknown - 条件:
Equal - 等しい: 空白のままにしてください
ブループリントを確認します。
6. 集約テーブルの作成
現在、サービス、請求書、タグに関する多くの情報を持っています。これらの情報をすべて結びつけるために、集約テーブルを構築します。
Lakehouse ManagerとTablesセクション内で、+とCreate a new empty tableをクリックします。名前を付けます: enriched_bills_details。
この時点で、Lakehouseに次のテーブルを持っているはずです:
servicesdomains_tagsraws_bills_detailsenriched_bills_details
ソースから作成したテーブルからいくつかのフィールドをドラッグして、enriched_bills_detailsにドロップします。ドラッグ&ドロップするフィールドは次の通りです:
raws_bills_detailsから:domainperiodstarttotalprice_value
domains_tagsから:tag
servicesから:resource_displaynameresource_product_nameresource_product_description
enriched_bills_detailsテーブルは、次のようになっているはずです:
この新しいテーブルを構築するには、Buildをクリックできます。
この新しいテーブルの構造を作成したので、前の3つのテーブルからデータを抽出して、この新しいテーブルに読み込むジョブを作成します。Data Processing EngineとActionsセクションに移動する必要があります。New Actionをクリックして、Aggregateを選択します。
異なるテーブルからのフィールドをenriched_bills_detailsにマッピングするには、まずソースと宛先を選択する必要があります:
- ソース:
raws_bills_detailsservicesdomains_tags
- 宛先:
enriched_bills_details
ソースについては、3つのテーブルからのデータがSQL JOIN構文を通じてどのようにリンクされているかを説明する必要があります。次のジョインを追加します:
raws_bills_detailsとservicesの間:
raws_bills_detailsとdomains_tagsの間:
集約を完了するには、テーブルの属性をenriched_bills_detailsに選択してグループ化する方法を設定する必要があります。下記のスクリーンショットに示すように属性をマッピングします。
集約を作成し、アクションを実行できます。
7. クエリの準備とダッシュボードの構築
現在、すべてのデータを活用できるように準備できたので、Analytics ManagerとQueriesに移動できます。
クエリをいくつか作成しましょう。
前月比コストの推移
クエリについては:
- データ:
totalprice_valuesum FROMenriched_bills_details - スケール:
periodstart - 順序:
periodstart desc
ビジュアライゼーションについては:
- メトリクスとして
- カスタマイズ: すべてのトグルボタンを有効にします
タグ別コストの内訳
クエリについては:
- データ:
totalprice_valuesum FROMenriched_bills_details - スケール:
tag
ビジュアライゼーションについては:
- 円グラフとして
- カスタマイズ:
- カテゴリを表示
- 合計の%を表示
- 位置: 外側
- 凡例を非表示
プロダクト別コストの内訳
クエリについては:
- データ:
totalprice_valuesum FROMenriched_bills_details - スケール:
resource_displayname
ビジュアライゼーションについては:
- 円グラフとして
- カスタマイズ:
- カテゴリを表示
- 合計の%を表示
- 位置: 外側
- 凡例を非表示
プロダクトタイプ別コストの内訳
クエリについては:
- データ:
totalprice_valuesum FROMenriched_bills_details - スケール:
resource_productdescription
ビジュアライゼーションについては:
- 円グラフとして
- カスタマイズ:
- カテゴリを表示
- 合計の%を表示
- 位置: 外側
- 凡例を非表示
月別タグ別コスト
クエリについては:
- データ:
totalprice_valuesum FROMenriched_bills_details - スケール:
periodstartresource_product_descriptiontag - フィルタリング:
periodstartNot null - 順序:
periodstartasc
ビジュアライゼーションについては:
- 棒グラフとして
- カスタマイズ:
- 積み上げ表示
- 凡例を非表示
- X軸: 期間開始でグループ化
ダッシュボードの作成
ダッシュボードセクションに移動し、新しいダッシュボードを作成して、すべてのチャートをこのダッシュボードに追加できます。+ボタンをクリックします。
ダッシュボードの上部に、データのナビゲーションを容易にするためのフィルタを追加することもできます。次のフィルタを追加することを検討してください:
periodstarttagresource_product_description
結論
これらの手順に従うことで、OVHcloud Billing APIエンドポイントを効果的に設定し、請求情報をプログラムで取得、処理、分析することができます。
さらに学ぶ
ソリューションのトレーニングや技術的なアシスタンスが必要な場合は、営業担当者にお問い合わせください、またはProfessional Servicesページにアクセスして、見積もりをリクエストし、専門家チームにプロジェクトを分析してもらいます。
質問をする、フィードバックを送信し、Data Platformを構築するチームと直接交流するには、専用のDiscordチャネルにアクセスしてください。
OVHcloudサービスについてサポートが必要な場合は、Help Centreでリクエストを作成してください。
ユーザーコミュニティに参加します。

