HTTP API
HTTP API
machbase-neoは、HTTP APIで2つの主要機能を提供します。
あらゆる種類のSQL文を実行できるqueryと、SQLのINSERT INTO ...と同じ機能を提供するwriteです。
HTTP APIは、センサーやデバイスがMQTTやHTTPでデータを取り込む一方で、 ユーザーのサービスアプリケーションやデータ分析ツールが、Machbaseデータベースに保存されたデータにアクセスできるようにすることを主な目的としています。

エンドポイント
アプリケーションやセンサーは、HTTP APIでデータを読み書きできます。
データベースの検索
| メソッド | パス | 説明 |
|---|---|---|
| GET | /db/query | qパラメーターでクエリを実行します。 |
| POST | /db/query | JSONまたはフォームデータでクエリを実行します。 |
データベースへの書き込み
| メソッド | パス | 説明 |
|---|---|---|
| POST | /db/write | JSON形式またはCSV形式でデータを保存します。 |
| POST | /metrics/write | ILP(Influx Line Protocol)形式でデータを保存します。 |
APIトークンの検証
| メソッド | パス | 説明 |
|---|---|---|
| POST | /db/token/validate | Authorization: Bearer <token>のAPIトークンを検証し、有効な場合はそのトークンでDBリクエストを実行するときに適用されるユーザーを返します。トークン認証の設定にかかわらず、Bearerヘッダーが必要です。 |
TQLエンドポイント
| メソッド | パス | 説明 |
|---|---|---|
| GET | /db/tql/{tql_file_path} | パスで指定したTQLファイルを実行します。 |
| POST | /db/tql/{tql_file_path} | リクエストボディを入力として、指定したTQLファイルを実行します。 |
| POST | /db/tql | リクエストボディに含まれるTQLスクリプトを実行します。 |
| POST | /db/tql?$={tql_script} | クエリパラメーター$で渡されたTQLスクリプトを、リクエストボディとともに実行します。
Since v8.0.17 |
HTTP APIのテスト
machbase-neoのWeb UIにはREST APIクライアントが組み込まれています。以下の例のように、ワークシートのMarkdownやTQLから直接HTTP APIをテストできます。
machbase-neoのトークン認証はデフォルトで有効です(
--http-enable-token-auth true)。 有効な状態で認証トークンを付けずにリクエストすると、401 Unauthorizedレスポンスとともに{"reason":"missing authorization token","success":false}メッセージが返されます。 以下の例を実行するには、APIセキュリティの手順に従ってAPIトークンを発行し、 各リクエストにAuthorization: Bearer <API_TOKEN>ヘッダーを追加してください。
- ワークシートのMarkdown
```http
GET http://127.0.0.1:5654/db/query
?q=select count(*) from example
&format=ndjson
Authorization: Bearer <your token>
```
- TQL
HTTP({
GET http://127.0.0.1:5654/db/query
?q=select count(*) from example
&format=ndjson
Authorization: Bearer <your token>
})
TEXT()
この章の内容
最終更新日