コンテンツにスキップ
HTTP API

HTTP API

machbase-neoは、HTTP APIで2つの主要機能を提供します。 あらゆる種類のSQL文を実行できるqueryと、SQLのINSERT INTO ...と同じ機能を提供するwriteです。

HTTP APIは、センサーやデバイスがMQTTやHTTPでデータを取り込む一方で、 ユーザーのサービスアプリケーションやデータ分析ツールが、Machbaseデータベースに保存されたデータにアクセスできるようにすることを主な目的としています。

エンドポイント

アプリケーションやセンサーは、HTTP APIでデータを読み書きできます。

データベースの検索

メソッドパス説明
GET/db/queryqパラメーターでクエリを実行します。
POST/db/queryJSONまたはフォームデータでクエリを実行します。

データベースへの書き込み

メソッドパス説明
POST/db/writeJSON形式またはCSV形式でデータを保存します。
POST/metrics/writeILP(Influx Line Protocol)形式でデータを保存します。

APIトークンの検証

メソッドパス説明
POST/db/token/validateAuthorization: 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()

この章の内容

最終更新日