Skip to content
Last updated

Insightsモデルエンドポイント リファレンス

これらのRESTエンドポイントを使用して、Treasure Insightsデータモデルを構築および保守します。

各例のリージョンタブを選択して、お使いのサイトの正しいベースURLを使用してください。

Insightsモデルの作成/読み取り/削除

アカウントのInsightsモデルのリストを取得

curl -X GET \
  "https://api.treasuredata.com/reporting/datamodels" \
  -H "Authorization: TD1 <your_api_key>"

ビルドおよびクエリリソース制限サイズの取得

ElastiCubeデータモデル、ビルド、およびダッシュボード/クエリは、RAMとCPUの一定の上限(最大23 GB)に関連付けられているため、データモデルのビルドがその制限を超えると、ユーザーにエラーが表示されます。

curl -X GET \
  "https://api.treasuredata.com/reporting/account" \
  -H "Authorization: TD1 <your_api_key>"

サンプルレスポンス

GBでのクエリとダッシュボードの制限を表示し、特にbuild_sizequery_sizeパラメーターに注意してください。

{
        "id": "<id>",
        "sisense_group_id": "<sisense_group_id>",
        "td_account_id": "<td_account_id>",
        "max_data_modelers": 5,
        "max_designers": 10,
        "max_viewers": 20,
        "storage_size": 20,
        "storage_threshold": 500,
        "build_threshold": 100,
        "query_threshold": 100,
        "sisense_datagroup_oid": "<sisense_datagroup_oid>",
        "sisense_hostname": "<sisense_hostname>",
        "build_size": 23.0,
        "query_size": 23.0,
        "calculated_build_size": 23.0,
        "calculated_query_size": 23.0,
        "current_data_modelers": 4,
        "current_designers": 2,
        "current_viewers": 4
}

特定のInsightsモデル設定の取得

curl -X GET \
  "https://api.treasuredata.com/reporting/datamodels/<datamodel_id>" \
  -H "Authorization: TD1 <your_api_key>"

新しいInsightsモデルの作成

curl -X POST \
  "https://api.treasuredata.com/reporting/datamodels" \
  -H "Authorization: TD1 <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "<model_name>",
    "apikey": "<your_api_key>",
    "type": "elasticube",
    "description": "<description>"
  }'
パラメーター必須説明
name必須モデル名
apikey必須アカウントのAPIキー
type必須モデルタイプ。elasticube を指定。
description任意モデルの説明

既存のInsightsモデルの削除

curl -X DELETE \
  "https://api.treasuredata.com/reporting/datamodels/<datamodel_id>" \
  -H "Authorization: TD1 <your_api_key>"

Insightsモデル共有の更新

ユーザーとInsightsモデルを共有

curl -X PUT \
  "https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/shares" \
  -H "Authorization: TD1 <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "emails": ["<user1@example.com>", "<user2@example.com>"]
  }'
パラメーター必須説明
emails任意共有するユーザーのメールアドレスのリスト。省略した場合、アカウントの全メンバーと共有されます。モデルオーナーのメールアドレスを必ず含める必要があります。

この操作はべき等です — 指定したリストが現在の共有設定を完全に上書きします。

データセットの作成/読み取り/削除

Insightsモデル内のデータセットのリストを取得

curl -X GET \
  "https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/datasets" \
  -H "Authorization: TD1 <your_api_key>"

新しいInsightsモデルデータセットの作成

curl -X POST \
  "https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/datasets" \
  -H "Authorization: TD1 <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "<dataset_name>",
    "definition": {
      "type": "presto",
      "database": "<database_name>",
      "tables": {
        "<table_name>": {
          "columns": {
            "<column_name>": { "type": "<column_type>" }
          }
        }
      }
    }
  }'
パラメーター必須説明
name必須データセット名
definition.type必須データソースタイプ。presto を指定。
definition.database必須Treasure Data のデータベース名
definition.tables必須テーブル定義。キーはテーブル名。

Insightsモデルデータセットの削除

curl -X DELETE \
  "https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/datasets/<dataset_id>" \
  -H "Authorization: TD1 <your_api_key>"

テーブルの作成/読み取り/更新/削除

データセット内のテーブルのリストを取得

curl -X GET \
  "https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/datasets/<dataset_id>/tables" \
  -H "Authorization: TD1 <your_api_key>"

データセットに新しいテーブルを作成

curl -X POST \
  "https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/datasets/<dataset_id>/tables" \
  -H "Authorization: TD1 <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "<table_name>",
    "definition": {
      "columns": {
        "<column_name>": { "type": "<column_type>" },
        "<another_column>": { "type": "<column_type>", "hidden": true },
        "<indexed_column>": { "type": "<column_type>", "indexed": true }
      }
    }
  }'

リクエストパラメーター

パラメーター必須説明
name必須テーブル名
definition.columns必須カラム定義。キーはカラム名。

カラムタイプ

タイプ説明
int整数
float浮動小数点数
string短いテキスト
text長いテキスト
datetime日付と時刻
timestampUnixタイムスタンプ または ISO 8601 文字列

カラムオプション

オプションタイプ説明
typestringカラムタイプ(必須)
hiddenbooleanダッシュボードでカラムを非表示にする。デフォルト: false
indexedbooleanフィルタリングを高速化するためにカラムをインデックス化する。デフォルト: false

データセット内の既存のテーブルを更新

curl -X PUT \
  "https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/datasets/<dataset_id>/tables/<table_id>" \
  -H "Authorization: TD1 <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "<table_name>",
    "definition": {
      "columns": {
        "<column_name>": { "type": "<column_type>" }
      }
    }
  }'

columnsフィールドは既存の定義にマージされます。送信したカラムのみが更新または追加されます。カラムタイプおよびカラムオプションを参照してください。

データセット内の既存のテーブルを削除

curl -X DELETE \
  "https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/datasets/<dataset_id>/tables/<table_id>" \
  -H "Authorization: TD1 <your_api_key>"

リレーションの作成/読み取り/削除

Insightsモデルリレーションのリストを取得

curl -X GET \
  "https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/relations" \
  -H "Authorization: TD1 <your_api_key>"

Insightsモデルの新しいリレーションを作成

curl -X POST \
  "https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/relations" \
  -H "Authorization: TD1 <your_api_key>" \
  -H "Content-Type: application/json" \
  -d '{
    "definition": [
      { "dataset": "<dataset_name>", "table": "<table_name>", "column": "<column_name>" },
      { "dataset": "<dataset_name>", "table": "<table_name>", "column": "<column_name>" }
    ]
  }'

既存のリレーションを削除

curl -X DELETE \
  "https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/relations/<relation_id>" \
  -H "Authorization: TD1 <your_api_key>"

Insightsモデルビルドの作成/読み取り/削除

Insightsモデルビルドのリストを取得

curl -X GET \
  "https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/builds" \
  -H "Authorization: TD1 <your_api_key>"

Insightsモデルのビルドステータスを取得

curl -X GET \
  "https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/builds/<build_id>" \
  -H "Authorization: TD1 <your_api_key>"

Insightsモデルのビルドをトリガー

curl -X POST \
  "https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/builds" \
  -H "Authorization: TD1 <your_api_key>"

Insightsモデルのビルドを停止

curl -X DELETE \
  "https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/builds/<build_id>" \
  -H "Authorization: TD1 <your_api_key>"