イベント契約
クエリが期待するフィールド
| フィールド | 種類 | なぜ存在するのか |
|---|---|---|
| timestamp_utc | Timestamp | 請求可能なアクティビティが UTC で完了したとき。 |
| meter_event_id | Utf8 | 1 つの論理使用状況レコードの冪等キー。 |
| account_id | Utf8 | 安定した請求先アカウント ID。 |
| plan | Utf8 | 使用量が発生したときにクォータを所有していたプラン。 |
| billable_units | Float64 | このイベントによって追加された正規化されたユニット。 |
| included_units | Float64 | アカウントとプランに含まれる毎月の割り当て。 |
クエリをコピーする
WITH deduplicated_usage AS (
SELECT
meter_event_id,
account_id,
plan,
MAX(billable_units) AS billable_units,
MAX(included_units) AS included_units
FROM usage_meter_events
WHERE timestamp_utc >= date_trunc('month', now())
GROUP BY meter_event_id, account_id, plan
)
SELECT
account_id,
plan,
COUNT(*) AS meter_events,
SUM(billable_units) AS used_units,
MAX(included_units) AS included_units,
100.0 * SUM(billable_units)
/ NULLIF(MAX(included_units), 0) AS quota_used_pct,
SUM(billable_units) - MAX(included_units) AS overage_units
FROM deduplicated_usage
GROUP BY account_id, plan
ORDER BY quota_used_pct DESC;この読み取り専用クエリは、空の型付きテーブルに対して計画され、実行されます。 アパッチ DataFusion 45.2.0。決定論的なサンプル出力は合成され、個別にレビューされます。フィールド タイプ、しきい値、ビジネス定義を独自のデータと照合して検証します。 テスト方法を読んでください。
クエリ結果
アカウントごとに使用される月間割り当て量
Harbor は含まれている割り当てを超えていますが、Lumen は予測または顧客への通知が必要なほどに近づいています。
| account_id | plan | meter_events | used_units | included_units | quota_used_pct | overage_units |
|---|---|---|---|---|---|---|
| account_harbor | growth | 18,420 | 1,126,000 | 1,000,000 | 112.6 | 126,000 |
| account_lumen | growth | 12,880 | 842,000 | 1,000,000 | 84.2 | -158,000 |
| account_north | starter | 3,610 | 168,000 | 250,000 | 67.2 | -82,000 |
合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。
例を再現する
パブリックフィクスチャをダウンロードする
JSON バンドルには、型付きイベント コントラクトが含まれています。 illustrative 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。
SQL の仕組み
- 1最初の CTE はメーター イベント ID によってグループ化されるため、少なくとも 1 回の配信では同じ論理使用量を 2 回請求することはできません。
- 21 つのリクエストが多くのユニットまたは端数のユニットを表す可能性があるため、請求可能なユニットはイベント数とは独立して合計されます。
- 3クォータの割合と超過量は、アカウントのランキングと請求の確認に必要なプラン固有の分母を保持します。
決定すべきエッジケース
- 計画の変更には明示的な比例配分ポリシーが必要です。単一の月間最大値は、クォータが期間の途中で変更される可能性がある場合の例です。
- 修正と否定的な使用には、以前のイベントをサイレントに変更するのではなく、追加のみの調整コントラクトが必要です。
- 請求書が最終的なものになる前に、請求プロバイダーと集計を調整します。
推奨されるダッシュボード
- バー: quota_used_pct (アカウント別)
- 表: 使用済みユニット、含まれているユニット、および超過ユニット
- 傾向: 75% を超えるアカウントの日次請求単位
レシピを活用する
関連する機器とガイド
ソースデータを定義する
この分析のイベント スキーマ
分析を続ける
実際のイベントで実行する
テーブルを作成し、フィールドを調整して、結果を保存します
無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。