# Elastic Cloud Export CLI

CLIを使用してクエリを実行し、結果を出力できます。以下の手順では、CLIを使用してクエリ出力結果をフォーマットする方法を説明します。

このトピックには以下が含まれます:

## TD Queryコマンドの使用方法

単一のクエリの結果をElastic Cloudに出力するには、`td query`コマンドに`--result`オプションを追加します。ジョブが完了すると、結果はデータベースに書き込まれます:

- Nodes: ノードのカンマ区切りリスト
- Use SSL? SSLを使用するかどうか
- Auth Method: BasicまたはNoneのいずれかを選択
- Username: Basic認証のユーザー名
- Password: 上記ユーザーのパスワード
- Mode: insertまたはreplaceのいずれかを選択
- Index: インデックスの名前
- Type: typeの名前
- ID: (オプション) IDカラムの名前


Elastic Cloud用のTD queryコマンドフォーマットの例:


```bash
td query \
--result '{"type":"elasticcloud","mode":"insert","nodes":[{"host":"host","port":port}],
"use_ssl":true,"auth_method":"basic","user":"user",
"index":"index","index_type":"log","bulk_actions":1000,
"bulk_size":5242880,"fill_null_for_empty_column":true,
"maximum_retries":7,"maximum_retry_interval_millis":120000}'-w \
-d ivan_test_td \
"SELECT column_name, COUNT(1) FROM table GROUP BY column"
```

## スケジュールされたジョブ

出力を体系的にElastic Cloudに書き込むスケジュールクエリを作成するには、`td sched:create`コマンドでスケジュールを作成する際に`--result`オプションを追加します。ジョブが実行されるたびに、結果は`mytbl`に書き込まれます。


```bash
td result:create mydb elascloud://user:password@host/database
td sched:create hourly_count_example "0 * * * *" \
-d testdb \
"select count(*) from www_access" \
--result mydb:mytbl
```

## 結果出力URLフォーマット

結果出力ターゲットは、以下のフォーマットのURLで表されます:


```json
{
   "type":"elasticcloud",
   "mode":"mode",
   "nodes":[
      {
         "host":"host",
         "port":"port"
      }
   ],
   "auth_method":"none",
   "index":"index",
   "index_type":"dump",
   "bulk_actions":1000,
   "bulk_size":5242880
}
```

パラメータの説明:

- **host**: ホスト名
- **port**: ポート番号
- modes: appendまたはreplaceを指定