4.1.2.1 既存の表からの新しいデータセットの作成

Spatial Studioデータセットは、データベース接続の既存の表、ビューまたはモデルから作成されます。

次のリクエストは、既存の表から新しいSpatial Studioデータセットを作成します。

HTTP POSTリクエスト

curl -k -X POST https://localhost:4040/spatialstudio/oauth/v1/datasets \
 --header "Authorization: Bearer <MY_TOKEN>" \
 --header "Content-Type: application/json" \
 --data '{
  "objectType": "dataset",
  "name": "MY_LOCATIONS",
  "refId": "<MY_CONN_ID>",
  "data": {
    "dataSourceId": "$MY_CONN_ID",
    "nodePath": "database://{data}{schema}{<MY_CONN_ID>}/{marker}{TableMarker}{<MY_CONN_ID>-table}/{dataset}{DatabaseTable}{MY_LOCATIONS}",
    "description": "",
    "dataSourceType": "database",
    "lastModifiedTime": "'$DATE'"
  }
}' 

前述のリクエストは、MY_LOCATIONS表からデータセットを作成します。また、次の点にも注意してください。

  • -X POSTオプションにより、これはHTTP POSTリクエストになります。これが必要なのは、状態変更アクション(サーバーでの新しいデータセットの作成)を呼び出すときです。READおよびWRITE権限を持つアクセス・トークンも必要です(サーバーの状態の変更はWRITE操作とみなされます)。
  • -–dataオプションは、RESTリクエストの一部としてJSONペイロードを送信するために使用されます。この例では、環境変数$DATE (export DATE=date)が必須のlastModifiedTimeフィールドに使用されます。
  • 文字列<MY_CONN_ID>は、表が存在するデータ・ソースまたは接続のidを表します。
  • 書式設定のために、リクエストは複数の行に分割して示されています。バックスラッシュ\を使用すると、すべての行が連結され、1つの連続するコマンドとして処理されます。

レスポンスには、後続のリクエストで使用される新しいデータセットidが含まれます。

レスポンス

{
  ...
   "id" : "5c3b3a6d98eab545a0f9bd66e3d07886",
  ...
}

ほぼすぐにJSONレスポンスを受信しますが、実行を継続する追加のサーバー側タスク(統計収集など)があることに注意してください。これらのバックグラウンド・タスクは、ソース表のサイズに応じて数秒以上かかる場合があります。そのようなタスクのステータスを問い合せて確認するためのRESTエンドポイントがあります。ただし、新しいデータセットを作成する目的で、無視しても問題ありません。

緯度/経度索引の作成、統計の更新、キー列の設定など、新しく作成したデータセットを準備する多くの他のコマンドを送信することもできます。