これらのRESTエンドポイントを使用して、Treasure Insightsデータモデルを構築および保守します。
各例のリージョンタブを選択して、お使いのサイトの正しいベースURLを使用してください。
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_sizeとquery_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
}curl -X GET \
"https://api.treasuredata.com/reporting/datamodels/<datamodel_id>" \
-H "Authorization: TD1 <your_api_key>"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 | 任意 | モデルの説明 |
curl -X DELETE \
"https://api.treasuredata.com/reporting/datamodels/<datamodel_id>" \
-H "Authorization: TD1 <your_api_key>"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 | 任意 | 共有するユーザーのメールアドレスのリスト。省略した場合、アカウントの全メンバーと共有されます。モデルオーナーのメールアドレスを必ず含める必要があります。 |
この操作はべき等です — 指定したリストが現在の共有設定を完全に上書きします。
curl -X GET \
"https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/datasets" \
-H "Authorization: TD1 <your_api_key>"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 | 必須 | テーブル定義。キーはテーブル名。 |
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 | 日付と時刻 |
timestamp | Unixタイムスタンプ または ISO 8601 文字列 |
| オプション | タイプ | 説明 |
|---|---|---|
type | string | カラムタイプ(必須) |
hidden | boolean | ダッシュボードでカラムを非表示にする。デフォルト: false |
indexed | boolean | フィルタリングを高速化するためにカラムをインデックス化する。デフォルト: 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>"curl -X GET \
"https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/relations" \
-H "Authorization: TD1 <your_api_key>"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>"curl -X GET \
"https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/builds" \
-H "Authorization: TD1 <your_api_key>"curl -X GET \
"https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/builds/<build_id>" \
-H "Authorization: TD1 <your_api_key>"curl -X POST \
"https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/builds" \
-H "Authorization: TD1 <your_api_key>"curl -X DELETE \
"https://api.treasuredata.com/reporting/datamodels/<datamodel_id>/builds/<build_id>" \
-H "Authorization: TD1 <your_api_key>"