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

Time Series Database:HTTP API を使用したデータのクエリ

最終更新日:Nov 23, 2025

HTTP API は、TSDB for InfluxDB® からデータをクエリするための主要な方法です。

データをクエリする他の方法については、コマンドラインインターフェイスおよびクライアントのドキュメントをご参照ください。

説明

このセクションの例では、URL を使用してデータを転送するためのコマンドラインインターフェイスである curl を使用します。

クエリを実行するには、GET リクエストを /query パスに送信します。db URL パラメーターをターゲットデータベースに設定し、q URL パラメーターを検索文に設定します。POST リクエストを送信することもできます。パラメーターは GET リクエストの場合と同じで、URL パラメーターとして、または application/x-www-form-urlencoded 本文の一部として送信できます。次の例は、HTTP API を使用して、「HTTP API を使用したデータの書き込み」ドキュメントで使用されているデータベースをクエリする方法を示しています。

curl -G 'https://<network address>:3242/query?u=<username>&p=<password>&pretty=true' --data-urlencode "db=mydb" --data-urlencode "q=SELECT \"value\" FROM \"cpu_load_short\" WHERE \"region\"='us-west'"

TSDB for InfluxDB® は、JSON フォーマットで値を返します。クエリ結果は results 配列にあります。エラーが発生した場合、TSDB for InfluxDB® は error フィールドにエラーメッセージを返します。

{
    "results": [
        {
            "statement_id": 0,
            "series": [
                {
                    "name": "cpu_load_short",
                    "columns": [
                        "time",
                        "value"
                    ],
                    "values": [
                        [
                            "2015-01-29T21:55:43.702900257Z",
                            2
                        ],
                        [
                            "2015-01-29T21:55:43.702900257Z",
                            0.55
                        ],
                        [
                            "2015-06-11T20:46:02Z",
                            0.64
                        ]
                    ]
                }
            ]
        }
    ]
}
説明

URL に `pretty=true` を追加すると、JSON 出力が読みやすくなります。これは、デバッグや、curl などのツールで直接クエリを実行する場合に便利です。このパラメーターは不要なネットワーク帯域幅を消費するため、本番環境では使用しないでください。

複数のクエリ

単一の API 呼び出しで複数のクエリを TSDB for InfluxDB® に送信するには、各クエリをセミコロンで区切ります。例:

curl -G 'https://<network address>:3242/query?u=<username>&p=<password>&pretty=true' --data-urlencode "db=mydb" --data-urlencode "q=SELECT \"value\" FROM \"cpu_load_short\" WHERE \"region\"='us-west';SELECT count(\"value\") FROM \"cpu_load_short\" WHERE \"region\"='us-west'"

システムは以下を返します:

{
    "results": [
        {
            "statement_id": 0,
            "series": [
                {
                    "name": "cpu_load_short",
                    "columns": [
                        "time",
                        "value"
                    ],
                    "values": [
                        [
                            "2015-01-29T21:55:43.702900257Z",
                            2
                        ],
                        [
                            "2015-01-29T21:55:43.702900257Z",
                            0.55
                        ],
                        [
                            "2015-06-11T20:46:02Z",
                            0.64
                        ]
                    ]
                }
            ]
        },
        {
            "statement_id": 1,
            "series": [
                {
                    "name": "cpu_load_short",
                    "columns": [
                        "time",
                        "count"
                    ],
                    "values": [
                        [
                            "1970-01-01T00:00:00Z",
                            3
                        ]
                    ]
                }
            ]
        }
    ]
}

データをクエリするためのその他のオプション

タイムスタンプフォーマット

TSDB for InfluxDB® のすべてのデータは UTC で保存および表示されます。デフォルトでは、タイムスタンプは 2015-08-04T19:05:14.318570484Z のように、ナノ秒精度の RFC3339 UTC フォーマットで返されます。UNIX タイムスタンプを返すには、リクエストで epoch パラメーターを設定します。epoch の値は、精度を指定する文字列です。`h` は時間、`m` は分、`s` は秒、`ms` はミリ秒、`u` はマイクロ秒、`ns` はナノ秒です。たとえば、秒精度の UNIX フォーマットでタイムスタンプを返すには、次のようにします。

curl -G 'https://<network address>:3242/query?u=<username>&p=<password>' --data-urlencode "db=mydb" --data-urlencode "epoch=s" --data-urlencode "q=SELECT \"value\" FROM \"cpu_load_short\" WHERE \"region\"='us-west'"

チャンキング

chunked=true クエリパラメーターを設定することで、チャンキングを有効にできます。これにより、結果が単一の応答ではなくバッチでストリーミングされます。結果は、シリーズごと、または 10,000 データポイントごとにチャンク化されます (どちらかの条件が先に満たされた時点で)。最大チャンクサイズを変更するには、chunk_size クエリパラメーターを目的のサイズに設定します。たとえば、20,000 データポイントのチャンクで結果を返すには、パラメーターを次のように設定します。

curl -G 'https://<network address>:3242/query?u=<username>&p=<password>' --data-urlencode "db=deluge" --data-urlencode "chunked=true" --data-urlencode "chunk_size=20000" --data-urlencode "q=SELECT * FROM liters"

InfluxQL

データのクエリ方法を理解したところで、InfluxQL の詳細については、「データ探索」ドキュメントをご参照ください。HTTP API を使用したデータのクエリの詳細については、「HTTP API」ドキュメントをご参照ください。

InfluxDB® は InfluxData によって登録された商標です。InfluxData は TSDB for InfluxDB® と提携しておらず、TSDB for InfluxDB® を推奨するものでもありません。