すべてのプロダクト
Search
ドキュメントセンター

:マルチ値データポイントの書き込み

最終更新日:Mar 29, 2026

/api/mput エンドポイントを使用して、Time Series Database (TSDB) にマルチ値データポイントを書き込みます。各データポイントは、特定のタイムスタンプで単一のデータソースに属し、1 回の書き込み操作で複数のメトリックフィールド(例:サーバーの cpumemload)の値を保持します。

仕組み

マルチ値データポイントでは、1 つのメトリック名、1 つのタイムスタンプ、および 1 組のタグの下に複数のメトリックフィールドの値がグループ化されます。これは、各フィールドに対して個別のデータポイントが必要となるシングル値モデル(/api/put)とは異なります。

すべてのリクエストは、リクエストボディに JSON 配列を含む POST /api/mput を使用します。URL にクエリパラメーターを追加することで、書き込みモードを選択できます。

書き込みモードクエリパラメーター戻り値
シンプル(なし)状態コードのみ
統計的summarysuccess および failed のカウント
詳細情報付きdetailssuccessfailed、および errors(最初の失敗情報)
フォールトトレラントignoreErrorssuccessfailed、および errors(すべての失敗情報)

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

  • TSDB の HTTP エンドポイントへのネットワークアクセスが可能であること

  • 各データポイントについて、少なくとも 1 つのタグのキーと値のペアが設定されていること

High-availability Edition では、メトリック名の長さは最大 255 バイトです。

マルチ値データポイントの書き込み

リクエストボディにデータポイントの JSON 配列を含む POST リクエストを /api/mput に送信します。各データポイントには、metrictimestampfields、および tags を含める必要があります。

リクエスト

エンドポイント

POST /api/mput

クエリパラメーター

応答フォーマットを制御するために、これらのパラメーターを URL に追加します。型指定のないパラメーターは、値に関係なく存在するだけで true とみなされます。

パラメーターデフォルト値説明
summary型指定なしfalse書き込み統計情報(success および failed のカウント)を返します。/api/mput?summary
details型指定なしfalse書き込み統計情報および最初の書き込みエラーを返します。summarydetails の両方が指定されている場合、details が優先されます。/api/mput?details
sync_timeout整数0タイムアウト(ミリ秒単位)。0 の場合はタイムアウトしません。/api/mput?sync&sync_timeout=60000
ignoreErrors型指定なしfalse1 つのデータポイントの書き込みに失敗した場合でも、残りのデータポイントの書き込みを継続します。/api/mput?ignoreErrors

リクエストボディ

各要素がデータポイントである JSON 配列を渡します。各データポイントには、以下のフィールドを含める必要があります。

フィールド必須制約説明
metric文字列はい英字、数字、および -_./():,[]='# を使用可能。High-availability Edition では最大 255 バイトです。メトリック名です。
timestampLongはいタイムスタンプのルールをご参照ください。データポイントのタイムスタンプ(秒またはミリ秒単位)です。
fieldsMapはいフィールド名は metric と同じ文字ルールに従います。値は STRING、NUMBER、または BOOLEAN のいずれかである必要があります。STRING 値は最大 20 KB です。メトリックフィールドのキーと値のペアです。
tagsMapはい英字、数字、および -_./():,[]='# を使用可能。少なくとも 1 つのタグのキーと値のペアが必要です。文字列以外の値は自動的に文字列に変換されます。データポイントのタグのキーと値のペアです。

リクエストの例

POST /api/mput
Content-Type: application/json

[
  {
    "metric": "wind",
    "fields": {
      "speed": 20.8,
      "level": 4,
      "direction": "East",
      "description": "Fresh breeze"
    },
    "tags": {
      "sensor": "IOTE_8859_0001",
      "city": "hangzhou",
      "province": "zhejiang",
      "country": "china"
    },
    "timestamp": 1346846400
  },
  {
    "metric": "wind",
    "fields": {
      "speed": 40.2,
      "level": 6,
      "direction": "South",
      "description": "Fresh breeze"
    },
    "tags": {
      "sensor": "IOTE_8859_0002",
      "city": "hangzhou",
      "province": "zhejiang",
      "country": "china"
    },
    "timestamp": 1346846401
  }
]

タイムスタンプのルール

TSDB は、数値の大きさに基づいてタイムスタンプの単位を判別します。このルールは、/api/put/api/mput/api/query、および /api/mquery に適用されます。

値の範囲単位対応する日付範囲
4,294,968 ~ 4,294,967,2951970-02-20 01:02:48 ~ 2106-02-07 14:28:15
4,294,967,296 ~ 9,999,999,999,999ミリ秒1970-02-20 01:02:47.296 ~ 2286-11-21 01:46:39.999
上記の範囲外無効

書き込みモード

アプリケーションで必要とする応答の詳細度に応じて、書き込みモードを選択してください。

シンプルモード

クエリパラメーターは不要です。成功時は HTTP 204 を返します。失敗時はエラーコードおよびエラーメッセージを返します。

書き込みエラーが発生しないことが想定される一般的なモニタリングデータや、リトライ処理が外部で実装される場合にこのモードを使用します。

統計情報付きモード

リクエスト URL に ?summary を追加します。書き込みの成否に関わらず、success および failed のカウントを返します。

{
  "success": 20,
  "failed": 0
}
応答フィールド説明
success整数書き込まれたデータポイント数です。シングル値モデルでカウントされ、マルチ値データポイント内の各フィールドが個別にカウントされます。
failed整数書き込みに失敗したデータポイント数です。
統計情報付きモードでは、単一の api/mput リクエスト内のすべてのデータポイントが、成功または失敗のいずれか一方にまとめて判定されます。いずれかのデータポイントが失敗した場合、failed にはリクエスト内のデータポイント総数が反映されます。

書き込みスループットの統計情報を追跡する場合にこのモードを使用します。

詳細情報付きモード

リクエスト URL に ?details を追加します。統計情報付きモードを拡張し、応答に最初の書き込み失敗情報を含めます。

応答フィールド説明
success整数書き込まれたデータポイント数です。
failed整数書き込みに失敗したデータポイント数です。
errors配列最初に失敗したデータポイントの詳細情報(データポイント自体および失敗原因)です。
詳細情報付きモードでは、リクエスト内のすべてのデータポイントが成功または失敗のいずれか一方にまとめて判定されます。errors 配列には最初の失敗情報のみが含まれます。失敗総数については、failed をご確認ください。

書き込み失敗の原因を特定する必要がある場合にこのモードを使用します。

フォールトトレラントモード

リクエスト URL に ?ignoreErrors を追加します。各データポイントを独立して書き込み、1 つのデータポイントの失敗が他のデータポイントの書き込みをブロックしません。

応答フィールド説明
success整数書き込まれたデータポイント数です。
failed整数失敗したデータポイント数。
errors配列すべての失敗データポイント(それぞれのデータポイントおよび失敗原因を含む)です。errors にリストされていないデータポイントは正常に書き込まれています。
1 つ以上のデータポイントが書き込まれた場合は HTTP 200 を返します。すべてのデータポイントがストレージ障害などの重大なエラーにより失敗した場合にのみ、200 以外のステータスコードを返します。

リクエストに有効および無効なデータポイントが混在する可能性があり、可能な限り多くのデータポイントを正常に書き込む必要がある場合にこのモードを使用します。

API の違い

各操作には適切なエンドポイントを使用してください。

操作エンドポイント
シングル値データポイントの書き込みPOST /api/put
マルチ値データポイントの書き込みPOST /api/mput
シングル値データポイントのクエリGET /api/query
マルチ値データポイントのクエリGET /api/mquery