TD Toolbelt リファレンス（非公式）

# はじめに
Treasure Data（以降、TD）のcliであるtd toolbeltの使い方をまとめました。

# お断り
間違いとか表記揺れとか嘘とか見つけたら都度修正します、サーセン。

## td
全般的に使用できるオプション。

|オプション|説明|
|:--|:--|
|-c or --config|設定ファイルへのパスを設定する。設定していない場合、~/.td/td.conf|
|-k or --apikey|設定ファイルを読まずに、-kオプションのAPIキーを使う。|
|-e or --endpoint|使用するAPIサーバーのURLを設定する。https://が含まれていないと無効。設定していない場合、USリージョンがデフォルトになる。|
|-h or --help|ヘルプを出力する|
|--version|td toolbeltのバージョンを出力する。|
|--insecure|SSL証明書をverifyせずに実行する。|

### 例
#### -h
tdコマンドのhelpを出力する。

```shell
% td -h
```

#### td -k -e
tdコマンドで東京リージョンとapikeyを設定して、TDコマンドを実行する。

```shell
% td -k XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -e https://api.treasuredata.co.jp user:list
```


## td account
<table>
	<tr>
		<td>コマンド</td>
		<td>説明</td>
		<td colspan="2">オプション</td>
	</tr>
	<tr>
		<td>account</td>
		<td>アカウントを設定する。</td>
		<td>-f, --force</td>
		<td>現在のアカウント設定を上書きする。</td>
	</tr>
</table>


### 例
#### td account
configファイルのパスを設定して、account設定する。

```shell
% td -c ~/.td/td_tokyo.conf account
```

configファイルのパスを設定して、APIサーバを設定する。現在のアカウント設定に上書きする。

```shell
td -c ~/.td/td_tokyo.conf -e https://api.treasuredata.co.jp account -f
```

## td update
|コマンド|説明|
|:--|:--|
|update|td toolbeltをアップデートする。|

## td status
|コマンド|説明|
|:--|:--|
|status|ScheduleとJobの状況を出力する。|

## td apikey
|コマンド|説明|
|:--|:--|
|apikey|apikeyを出力する。|
|apikey:set|apikeyをconfigファイルに設定する。|

### 例
#### td apikey
apikeyを出力する。

```shell
% td apikey
```

### Google SSOを使用している場合のtdコマンド設定についてのリンク
https://docs.treasuredata.com/display/public/PD/Configuring+Authentication+for+TD+Using+the+TD+Toolbelt#ConfiguringAuthenticationforTDUsingtheTDToolbelt-SettingUpGoogleSSOUsers

## td server
|コマンド|説明|
|:--|:--|
|server|serverのステータスを出力する。|

## td help
|コマンド|説明|
|:--|:--|
|help|helpを出力する。|


## td db

<table>
	<tr>
		<td>コマンド</td>
		<td>説明</td>
		<td colspan="2">オプション</td>
	</tr>
	<tr>
		<td>db:list</td>
		<td>データベース内のテーブルのリストを出力する。</td>
		<td>-f [tsv, csv, json or table]</td>
		<td>出力形式を設定する。（tsv, csv, json, table[default]）</td>
	</tr>
	<tr>
		<td>db:show &lt;database_name&gt;</td>
		<td>データベースの情報を説明する。</td>
		<td>-f [tsv, csv, json or table]</td>
		<td>出力形式を設定する。（tsv, csv, json, table[default]）</td>
	</tr>
	<tr>
		<td>db:create &lt;database_name&gt;</td>
		<td>データベースを作成する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td>db:delete &lt;database_name&gt;</td>
		<td>データベースを削除する。</td>
		<td>-f, -force</td>
		<td>データベースに存在するテーブルも削除する。</td>
	</tr>
</table>


### 例
#### td db:create
TDのデータベースを作成する。

```bash
% td db:create database
```

#### td db:delete
TDのデータベースをテーブル含めて削除する。

```bash
% td db:delete database -f
```

## td export
エクスポート速度は速いが、フォーマットがtsvかjsonlのみで、tsvにヘッダーを付けられない。TDと同一リージョンのS3へのエクスポート固定など制約がある。

<table>
	<tr>
		<td>コマンド</td>
		<td>説明</td>
		<td colspan="2">オプション</td>
	</tr>
	<tr>
		<td rowspan="3">export:result &lt;job_id&gt; &lt;URL or JSON&gt;</td>
		<td rowspan="3">URLまたはJSONを設定して、クエリ結果をエクスポートする。</td>
		<td>-w, --wait</td>
		<td>ジョブが完了するまで待つ。</td>
	</tr>
	<tr>
		<td>-P, --priority PRIORITY</td>
		<td>優先度を設定する。</td>
	</tr>
	<tr>
		<td>-R, --retry COUNT</td>
		<td>自動リトライ回数を設定する。</td>
	</tr>
	<tr>
		<td rowspan="10">export:table &lt;db&gt; &lt;table&gt;</td>
		<td rowspan="10">バルクエクスポート。table:exportと同じ。テーブルデータをS3バケットにエクスポートする。ヘッダーは付与されない。</td>
		<td>-w, --wait</td>
		<td>ジョブが完了するまで待つ。</td>
	</tr>
	<tr>
		<td>-f, --from TIME</td>
		<td>設定したTIMEよりも新しい、またはTIMEと同じデータを対象とする。</td>
	</tr>
	<tr>
		<td>-t, --to TIME</td>
		<td>設定したTIMEよりも古いデータを対象とする。</td>
	</tr>
	<tr>
		<td>-b, --s3-bucket NAME</td>
		<td>宛先S3バケット名を設定する。（必須）</td>
	</tr>
	<tr>
		<td>-p, --prefix</td>
		<td>S3上のファイルのPATHパスプレフィックスを設定する。</td>
	</tr>
	<tr>
		<td>-k, --aws-key-id KEY_ID</td>
		<td>AWSアクセスキーID設定する。（必須）</td>
	</tr>
	<tr>
		<td>-s, --aws-secret-key SECRET_KEY</td>
		<td>AWS Secretアクセスキー設定する。（必須）</td>
	</tr>
	<tr>
		<td>-F, --file-format FILE_FORMAT</td>
		<td>エクスポートするファイル形式を設定する。(tsv.gz,jsonl.gz) json.gz,line-json.gz 形式は使用可能だが非推奨。</td>
	</tr>
	<tr>
		<td>-O, --pool-name NAME</td>
		<td>リソースプールの名前を設定する。</td>
	</tr>
	<tr>
		<td>-e, --encryption ENCRYPT_METHOD</td>
		<td>ENCRYPT_METHODを使ってサーバー側で暗号化しエクスポートする。</td>
	</tr>
</table>


### 例
#### export:result
redshiftへのエクスポート例。実行済みのクエリのJob Idをセットする必要がある。

```bash
% td export:result 999999999 'redshift://<user>:<password>@redshift-0.aaaaaaaa.us-east-1.redshift.amazonaws.com/database_name/table_name?schema=schema_name'
```

#### export:table
s3://bucket/sample/export_tableに、jsonl.gz形式でファイルをエクスポートする例。
S3 bucket名には、"s3://"は不要。-pオプションには、フォルダの設定が可能。ファイル名は設定できない。AWS access key関係は、S3書き込み、出力権限があるユーザーのkeyを設定する。

```bash
% td export:table database table --s3-bucket bucket -p sample/export_table -k <AWS Access key ID> -s <AWS Secret access key>
Export job 999999999 is queued.
Use 'td job:show 999999999' to show the status.
```


## td table
td table:importは、大量のデータをインポートする場合は、処理が遅いらしいので非推奨。

<table>
	<tr>
		<td>コマンド</td>
		<td>説明</td>
		<td colspan="2">オプション</td>
	</tr>
	<tr>
		<td rowspan="3">table:list [db]</td>
		<td rowspan="3">テーブルのリストを出力する。</td>
		<td>-n, --num_threads VAL</td>
		<td>並列でリストを取得するスレッドの数を設定する。</td>
	</tr>
	<tr>
		<td>--show-bytes</td>
		<td>テーブルの推定サイズをバイト数で出力する。</td>
	</tr>
	<tr>
		<td>-f, --format</td>
		<td>出力結果のフォーマットを設定する。(tsv, csv, json, table[デフォルト])</td>
	</tr>
	<tr>
		<td>table:show &lt;db&gt; &lt;table&gt;</td>
		<td>テーブルの情報を説明する。</td>
		<td>-v</td>
		<td>詳細な属性を出力する。</td>
	</tr>
	<tr>
		<td rowspan="3">table:create &lt;db&gt; &lt;table&gt;</td>
		<td rowspan="3">テーブルを作成する。</td>
		<td>-T, --type TYPE</td>
		<td>テーブルの種類（ログ）を設定する。</td>
	</tr>
	<tr>
		<td>--expire-days DAYS</td>
		<td>テーブルの有効期限（日）を設定する。</td>
	</tr>
	<tr>
		<td>--include-v BOOLEAN</td>
		<td>include_vフラグを設定する。</td>
	</tr>
	<tr>
		<td>table:delete &lt;db&gt; &lt;table&gt;</td>
		<td>テーブルを削除する。</td>
		<td>-f, --force</td>
		<td>プロンプト無し(聞かずに強制する。)</td>
	</tr>
	<tr>
		<td rowspan="5">table:import &lt;db&gt; &lt;table&gt; &lt;files...&gt;</td>
		<td rowspan="5">ファイルを解析してテーブルにインポートする。</td>
		<td>--format FORMAT</td>
		<td>ファイルフォーマット (デフォルト: apache)</td>
	</tr>
	<tr>
		<td>--apache</td>
		<td>--format apacheと同じ、apacheの共通ログフォーマット形式を設定する。</td>
	</tr>
	<tr>
		<td>--syslog</td>
		<td>--format syslogと同じ、syslog形式を設定する。</td>
	</tr>
	<tr>
		<td>--msgpack</td>
		<td>--format msgpackと同じ、msgpack形式を設定する。</td>
	</tr>
	<tr>
		<td>--json</td>
		<td>--format json と同じ、json形式を設定する。</td>
	</tr>
	<tr>
		<td rowspan="10">table:export &lt;db&gt; &lt;table&gt;</td>
		<td rowspan="10">バルクエクスポート。export:tableと同じ。テーブルデータをS3バケットにエクスポートする。tsv.gzの場合、ヘッダーは付与されない。</td>
		<td>-w, --wait</td>
		<td>ジョブが完了するまで待つ。</td>
	</tr>
	<tr>
		<td>-f, --from TIME</td>
		<td>設定したTIMEよりも新しい、またはTIMEと同じデータを対象とする。</td>
	</tr>
	<tr>
		<td>-t, --to TIME</td>
		<td>設定したTIMEよりも古いデータを対象とする。</td>
	</tr>
	<tr>
		<td>-b, --s3-bucket NAME</td>
		<td>宛先S3バケット名を設定する。（必須）</td>
	</tr>
	<tr>
		<td>-p, --prefix</td>
		<td>S3上のファイルのPATHパスプレフィックスを設定する。</td>
	</tr>
	<tr>
		<td>-k, --aws-key-id KEY_ID</td>
		<td>AWSアクセスキーIDを設定する。(必須)</td>
	</tr>
	<tr>
		<td>-s, --aws-secret-key SECRET_KEY</td>
		<td>AWS Secretアクセスキーを設定する。（必須）</td>
	</tr>
	<tr>
		<td>-F, --file-format FILE_FORMAT</td>
		<td>エクスポートするファイル形式を設定する。(tsv.gz,jsonl.gz) json.gz,line-json.gz 形式は使用可能だが非推奨。</td>
	</tr>
	<tr>
		<td>-O, --pool-name NAME</td>
		<td>リソースプールの名前を設定する。</td>
	</tr>
	<tr>
		<td>-e, --encryption ENCRYPT_METHOD</td>
		<td>ENCRYPT_METHODを使ってサーバー側で暗号化しエクスポートする。</td>
	</tr>
	<tr>
		<td>table:swap &lt;db&gt; &lt;table1&gt; &lt;table2&gt;</td>
		<td>2つのテーブルの名前を入れ替える。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td>table:rename &lt;db&gt; &lt;from_table&gt; &lt;dest_table&gt;</td>
		<td>既存のテーブルの名前を変更する。</td>
		<td>--overwrite</td>
		<td>テーブルが存在した場合、既存のテーブルを上書きする。</td>
	</tr>
	<tr>
		<td rowspan="2">table:tail &lt;db&gt; &lt;table&gt;</td>
		<td rowspan="2">最近インポートされたログを取得する。</td>
		<td>-n, --count COUNT</td>
		<td>取得するログの数を設定する。</td>
	</tr>
	<tr>
		<td>-P, --pretty</td>
		<td>整形したjson形式で出力する。</td>
	</tr>
	<tr>
		<td rowspan="4">table:partial_delete &lt;db&gt; &lt;table&gt;</td>
		<td rowspan="4">設定された時間範囲内にテーブルからログを削除する。</td>
		<td>-f, --from TIME</td>
		<td>削除するログの開始時刻をUNIXTIME（1時間単位）で設定する。</td>
	</tr>
	<tr>
		<td>-t, --to TIME</td>
		<td>削除するログの終了時刻をUNIXTIME（1時間単位）で設定する。</td>
	</tr>
	<tr>
		<td>-w, --wait</td>
		<td>ジョブが終了するのを待つ。</td>
	</tr>
	<tr>
		<td>-O, --pool-name NAME</td>
		<td>リソースプール名を設定する。</td>
	</tr>
	<tr>
		<td>table:expire &lt;db&gt; &lt;table&gt; &lt;expire_days&gt;</td>
		<td>設定された日数後にテーブルのデータを期限切れにする。有効期限を無効にするには、&lt;expire_days&gt;に0を設定する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td rowspan="3">table:update &lt;db&gt; &lt;table&gt;</td>
		<td rowspan="3">テーブルオプションを更新する。</td>
		<td>--expire-days DAYS</td>
		<td>テーブルの有効期限を設定する。</td>
	</tr>
	<tr>
		<td>--include-v BOOLEAN</td>
		<td>include_vフラグを設定する。</td>
	</tr>
	<tr>
		<td>--detect-schema BOOLEAN</td>
		<td>スキーマ検出フラグを設定する。</td>
	</tr>
</table>


### 例
#### table:import
msgpack.gz形式のファイルをテーブルにインポートする。

```bash
% td table:import database table out/sample_csv_0.msgpack.gz --format msgpack --time-key time
importing out/sample_csv_0.msgpack.gz...
  uploading 117 bytes...
  imported 4 entries from out/sample_csv_0.msgpack.gz.
done.
```

#### table:export
s3://bucket/sample/table_exportに、tsv.gz形式でファイルをエクスポートする。

```bash
% td table:export database table --s3-bucket bucket -p sample/table_export -F tsv.gz -k <AWS Access key ID> -s <AWS Secret access key>
Export job 999999999 is queued.
Use 'td job:show 999999999' to show the status.
```


## td bulk_import
TDはもうサポートしていないらしい（アップデートはない）。Embulkの使用を推奨。

<table>
	<tr>
		<td>コマンド</td>
		<td>説明</td>
		<td colspan="2">オプション</td>
	</tr>
	<tr>
		<td>bulk_import:list</td>
		<td>一括インポートセッションを一覧出力する。</td>
		<td>-f, --format</td>
		<td>出力結果のフォーマット (tsv, csv, json, table[デフォルト])</td>
	</tr>
	<tr>
		<td>bulk_import:show &lt;session_name&gt;</td>
		<td>アップロードされたパーツのリストを出力する</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td>bulk_import:create &lt;session_name&gt; &lt;db&gt; &lt;table&gt;</td>
		<td>テーブルへの新しい一括インポートセッションを作成する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td rowspan="15">bulk_import:prepare_parts &lt;files...&gt;</td>
		<td rowspan="15">ファイルをパーツファイル形式に変換する。</td>
		<td>-f, --format NAME</td>
		<td>ソースファイルのフォーマット を設定。[csv, tsv, msgpack, json]</td>
	</tr>
	<tr>
		<td>-h, --columns NAME,NAME,…</td>
		<td>カラム名 (1行目にカラム名がある場合は、--column-header を使用する。)</td>
	</tr>
	<tr>
		<td>-H, --column-header</td>
		<td>1行目に列名を含む。</td>
	</tr>
	<tr>
		<td>-d, --delimiter</td>
		<td>カラム間のデリミタを設定。</td>
	</tr>
	<tr>
		<td>--null REGEX</td>
		<td>nullを自動型変換する値設定。</td>
	</tr>
	<tr>
		<td>--true REGEX</td>
		<td>trueを自動型変換する値設定。</td>
	</tr>
	<tr>
		<td>--false REGEX</td>
		<td>falseを自動型変換する値設定。</td>
	</tr>
	<tr>
		<td>-S, --all-string</td>
		<td>自動型変換を無効。</td>
	</tr>
	<tr>
		<td>-t, --time-column NAME</td>
		<td>timeのカラム名</td>
	</tr>
	<tr>
		<td>-T, --time-format FORMAT</td>
		<td>timeカラムのフォーマット。</td>
	</tr>
	<tr>
		<td>--time-value</td>
		<td>TIMEカラムに設定する値を設定。</td>
	</tr>
	<tr>
		<td>-e, --encoding NAME</td>
		<td>テキストエンコーディング。</td>
	</tr>
	<tr>
		<td>-C, --compress NAME</td>
		<td>圧縮形式名 [plain, gzip] (デフォルト: 自動検出)。</td>
	</tr>
	<tr>
		<td>-s, --split-size SIZE_IN_KB</td>
		<td>パーツのサイズ (デフォルト: 16384)。</td>
	</tr>
	<tr>
		<td>-o, --output DIR</td>
		<td>出力フォルダを設定。</td>
	</tr>
	<tr>
		<td>bulk_import:upload_part &lt;session_name&gt; &lt;id&gt; &lt;path/msgpack.gz&gt;</td>
		<td>ファイルを一括インポートセッションにアップロードまたは再アップロードする。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td>bulk_import:upload_parts &lt;session_name&gt; &lt;files...&gt;</td>
		<td>一括インポートセッションへのファイルのアップロードまたは再アップロード</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td>bulk_import:delete_parts &lt;session_name&gt; &lt;ids...&gt;</td>
		<td>一括インポートセッションからアップロードされたファイルを削除する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td rowspan="3">bulk_import:perform &lt;session_name&gt;</td>
		<td rowspan="3">アップロードされたファイルの検証と変換を開始する。</td>
		<td>-w, --wait</td>
		<td>ジョブの終了を待つ。</td>
	</tr>
	<tr>
		<td>-f, --force</td>
		<td>強制的に実行を開始する。</td>
	</tr>
	<tr>
		<td>-O, --pool-name NAME</td>
		<td>リソースプール名を設定する。</td>
	</tr>
	<tr>
		<td>bulk_import:error_records &lt;session_name&gt;</td>
		<td>検証に合格しなかったレコードを出力する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td>bulk_import:commit &lt;session_name&gt;</td>
		<td>実行された一括インポートセッションのコミットを開始する。</td>
		<td>-w, --wait</td>
		<td>コミットの終了を待つ。</td>
	</tr>
	<tr>
		<td>bulk_import:delete &lt;session_name&gt;</td>
		<td>一括インポートセッションを削除する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td>bulk_import:freeze &lt;session_name&gt;</td>
		<td>一括インポートセッションへの後続のアップロードを拒否する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td>bulk_import:unfreeze &lt;session_name&gt;</td>
		<td>凍結された一括インポートセッションの凍結を解除する。</td>
		<td></td>
		<td></td>
	</tr>
</table>


### 例 td bulk_importの流れ
td bulk_importコマンドを使ったバルクインポートの手順です。

#### td bulk_import:create
バルクインポートのセッションを作成する。

```shell
% td bulk_import:create sample_session database table
Bulk import session 'sample_session' is created.
```

#### td bulk_import:prepare_parts
対象のファイルをmsgpack形式に変換する。

```shell
% td bulk_import:prepare_parts sample.csv --format csv --column-header --time-value `date +%s`  -o bulk_sample_msgpack/

Processing sample.csv...
  Preparing part "bulk_sample_0"...
  sample: 2021-05-14 04:47:01 UTC {"name":"John","id":110,"memo":"hogaotuaaaa","time":1620967621}
  sample.csv: 4 entries.
```

#### td bulk_import:upload_parts
変換したmsgpack形式のファイルをTDにアップロードする。

```shell
% td bulk_import:upload_parts sample_session bulk_sample_msgpack/bulk_sample_0.msgpack.gz
Uploading 'bulk_sample_msgpack/bulk_sample_0.msgpack.gz' -> 'bulk_sample_0'... (121 bytes)
done.
```

#### bulk_import:perform
バルクインポートを実行する。

```shell
% td bulk_import:perform sample_session
Job XXXXXXXXXX is queued.
Use 'td job:show [-w] XXXXXXXXXX' to show the status.
```

#### bulk_import:commit
インポートデータをコミットしてテーブルに反映する。

```shell
% td bulk_import:commit sample_session
Bulk import session 'sample_session' started to commit.
```

## td import
TDはもうサポートしていないらしい（アップデートはない）。Embulkの使用を推奨。

<table>
	<tr>
		<td>コマンド</td>
		<td>説明</td>
		<td colspan="2">オプション</td>
	</tr>
	<tr>
		<td>import:list</td>
		<td>セッションを一覧出力する。</td>
		<td>-f, --format</td>
		<td>出力結果のフォーマット (tsv, csv, json, table[デフォルト])</td>
	</tr>
	<tr>
		<td>import:show &lt;session_name&gt;</td>
		<td>アップロードファイルのリストを出力する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td>import:create &lt;session_name&gt; &lt;db&gt; &lt;table&gt;</td>
		<td>インポートセッションを作成する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td>import:jar_version</td>
		<td>jarバージョンを出力する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td>import:jar_update</td>
		<td>jarバージョンを更新する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td rowspan="31">import:prepare &lt;files...&gt;</td>
		<td rowspan="31">データを分割して msgpack 形式へ圧縮する。</td>
		<td>-f, --format FORMAT</td>
		<td>ソースファイルのフォーマット（[csv, tsv, json, msgpack, apache, regex, mysql]; default=csv）</td>
	</tr>
	<tr>
		<td>-C, --compress TYPE</td>
		<td>圧縮タイプ（[gzip, none, auto]; default=auto detect）</td>
	</tr>
	<tr>
		<td>-T, --time-format FORMAT</td>
		<td>日時のtimeフォーマットを設定する。</td>
	</tr>
	<tr>
		<td>-e, --encoding TYPE</td>
		<td>エンコーディングタイプ [UTF-8など]を設定する。</td>
	</tr>
	<tr>
		<td>-o, --output DIR</td>
		<td>出力フォルダ。（デフォルト：'out'）</td>
	</tr>
	<tr>
		<td>-s, --split-size SIZE_IN_KB</td>
		<td>パーツのサイズ (デフォルト: 16384)</td>
	</tr>
	<tr>
		<td>-t, --time-column NAME</td>
		<td>timeカラムの名前を設定。データにタイムカラムがない場合にこのオプションで生成可能。</td>
	</tr>
	<tr>
		<td>--time-value TIME,HOURS</td>
		<td>timeカラムの値を設定。</td>
	</tr>
	<tr>
		<td>--primary-key NAME:TYPE</td>
		<td>アイテムテーブルで宣言されている主キーの名前とタイプのペア。</td>
	</tr>
	<tr>
		<td>--prepare-parallel NUM</td>
		<td>並行処理数。 (デフォルト: 2; 最大 96)</td>
	</tr>
	<tr>
		<td>--only-columns NAME,NAME,…</td>
		<td>カラムのみを出力する。</td>
	</tr>
	<tr>
		<td>--exclude-columns NAME,NAME,…</td>
		<td>除外する列を設定する。</td>
	</tr>
	<tr>
		<td>--error-records-handling MODE</td>
		<td>エラーレコードハンドリングモード [skip, abort]; default=skip</td>
	</tr>
	<tr>
		<td>--invalid-columns-handling MODE</td>
		<td>無効なカラムを処理するモード [autofix, warn]; default=warn</td>
	</tr>
	<tr>
		<td>--error-records-output DIR</td>
		<td>エラーレコードを設定したフォルダに書き込む。</td>
	</tr>
	<tr>
		<td>--columns NAME,NAME,…</td>
		<td>カラム名を設定する。(1 行目にカラム名がある場合は、--column-header を使用する。)</td>
	</tr>
	<tr>
		<td>--column-types TYPE,TYPE,…</td>
		<td>列のタイプ。 [string, int, long, double]</td>
	</tr>
	<tr>
		<td>--column-type NAME:TYPE</td>
		<td>カラム名とタイプ [string, int, long, double]. カラム名とタイプは「age:int」のように設定可能。</td>
	</tr>
	<tr>
		<td>-S, --all-string</td>
		<td>自動型変換を無効。</td>
	</tr>
	<tr>
		<td>--empty-as-null-if-numeric</td>
		<td>カラムが数値型の場合、空の文字列値をNULL値として解釈する。</td>
	</tr>
	<tr>
		<td>≪CSV/TSV特有のオプション≫</td>
		<td></td>
	</tr>
	<tr>
		<td>--column-header</td>
		<td>1行目にカラム名を含む。</td>
	</tr>
	<tr>
		<td>--delimiter CHAR</td>
		<td>デリミタを設定。default=","</td>
	</tr>
	<tr>
		<td>--escape CHAR</td>
		<td>エスケープ文字を設定。default=&lt;br&gt;--newline TYPE：改行コードを設定。 [CRLF, LF, CR]; default=CRLF</td>
	</tr>
	<tr>
		<td>--quote CHAR</td>
		<td>クォートを設定。（[DOUBLE, SINGLE, NONE]; csvフォーマットの場合、デフォルト=DOUBLE tsvフォーマットの場合、デフォルト=NONE）</td>
	</tr>
	<tr>
		<td colspan="2">≪MySQL固有のオプション≫</td>
	</tr>
	<tr>
		<td>--db-url URL</td>
		<td>JDBC接続URLを設定。</td>
	</tr>
	<tr>
		<td>--db-user NAME</td>
		<td>MySQLアカウントのユーザー名。</td>
	</tr>
	<tr>
		<td>--db-password PASSWORD</td>
		<td>MySQLアカウントのパスワード。</td>
	</tr>
	<tr>
		<td colspan="2">≪REGEX 固有のオプション≫</td>
	</tr>
	<tr>
		<td>--regex-pattern PATTERN</td>
		<td>行を解析するパターン。ソースファイルのフォーマットとして 'regex' を使用する場合、このオプションは必須。</td>
	</tr>
	<tr>
		<td rowspan="37">import:upload &lt;session_name&gt; &lt;files...&gt;</td>
		<td rowspan="37">prepareで分割圧縮したファイルのアップロードを行う。</td>
		<td>--retry-count NUM</td>
		<td>リトライ回数を設定（デフォルト：10）。</td>
	</tr>
	<tr>
		<td>--auto-create DATABASE.TABLE</td>
		<td>設定されたデータベース名とテーブル名のバルクインポートセッションを作成する。このオプションを使用する場合は、第1引数にセッション名を設定不要。</td>
	</tr>
	<tr>
		<td>--auto-perform</td>
		<td>バルクインポートジョブを自動的に実行する。</td>
	</tr>
	<tr>
		<td>--auto-commit</td>
		<td>バルクインポートジョブを自動的にコミットする。</td>
	</tr>
	<tr>
		<td>--Auto-delete</td>
		<td>バルクインポートセッションを自動的に削除する。</td>
	</tr>
	<tr>
		<td>--parallel NUM</td>
		<td>アップロード並列数 (デフォルト: 2、最大 8）</td>
	</tr>
	<tr>
		<td>-f, --format FORMAT</td>
		<td>ソースファイルのフォーマット。（[csv, tsv, json, msgpack, apache, regex, mysql]; default=csv）</td>
	</tr>
	<tr>
		<td>-C, --compress TYPE</td>
		<td>圧縮タイプ（[gzip, none, auto]; default=auto detect）</td>
	</tr>
	<tr>
		<td>-T, --time-format FORMAT</td>
		<td>timeカラムの名前を設定。</td>
	</tr>
	<tr>
		<td>-e, --encoding TYPE</td>
		<td>エンコーディングタイプ [UTF-8など]を設定。</td>
	</tr>
	<tr>
		<td>-o, --output DIR</td>
		<td>出力フォルダ。（デフォルト：'out'）</td>
	</tr>
	<tr>
		<td>-s, --split-size SIZE_IN_KB</td>
		<td>パーツのサイズ (デフォルト: 16384)</td>
	</tr>
	<tr>
		<td>-t, --time-column NAME</td>
		<td>timeカラムの名前を設定。</td>
	</tr>
	<tr>
		<td>--time-value TIME,HOURS</td>
		<td>timeカラムの値を設定。データにタイムカラムがない場合にこのオプションで生成可能。</td>
	</tr>
	<tr>
		<td>--primary-key NAME:TYPE</td>
		<td>アイテムテーブルで宣言されている主キーの名前とタイプのペア。</td>
	</tr>
	<tr>
		<td>--prepare-parallel NUM</td>
		<td>並行処理数。(デフォルト: 2; 最大 96)</td>
	</tr>
	<tr>
		<td>--only-columns NAME,NAME,…</td>
		<td>設定したカラムのみを出力する。</td>
	</tr>
	<tr>
		<td>--exclude-columns NAME,NAME,…</td>
		<td>除外する列を設定する。</td>
	</tr>
	<tr>
		<td>--error-records-handling MODE</td>
		<td>エラーレコードハンドリングモード（[skip, abort]; default=skip）</td>
	</tr>
	<tr>
		<td>--invalid-columns-handling MODE</td>
		<td>無効なカラムを処理するモード（[autofix, warn]; default=warn）</td>
	</tr>
	<tr>
		<td>--error-records-output DIR</td>
		<td>エラーレコードを設定したフォルダに書き込む。</td>
	</tr>
	<tr>
		<td>--columns NAME,NAME,…</td>
		<td>カラム名 (1行目にカラム名がある場合は、--column-header を使用する。)</td>
	</tr>
	<tr>
		<td>--column-types TYPE,TYPE,…</td>
		<td>カラムの種類（[string, int, long, double]）。</td>
	</tr>
	<tr>
		<td>--column-type NAME:TYPE</td>
		<td>カラム名とタイプ [string, int, long, double]. カラム名とタイプは「age:int」のように設定可能。</td>
	</tr>
	<tr>
		<td>-S, --all-string</td>
		<td>自動型変換を無効にする。</td>
	</tr>
	<tr>
		<td>--empty-as-null-if-numeric</td>
		<td>カラムが数値型の場合、空の文字列値をNULL値として解釈する。</td>
	</tr>
	<tr>
		<td colspan="2">≪CSV/TSV特有のオプション≫</td>
	</tr>
	<tr>
		<td>--column-header</td>
		<td>1行目にカラム名を含む。</td>
	</tr>
	<tr>
		<td>--delimiter CHAR</td>
		<td>デリミタを設定。default=","</td>
	</tr>
	<tr>
		<td>--escape CHAR</td>
		<td>エスケープ文字を設定。default=&lt;br&gt;--newline TYPE：改行コードを設定。 [CRLF, LF, CR]; default=CRLF</td>
	</tr>
	<tr>
		<td>--quote CHAR</td>
		<td>クォートを設定。（[DOUBLE, SINGLE, NONE]; csvフォーマットの場合、デフォルト=DOUBLE tsvフォーマットの場合、デフォルト=NONE）</td>
	</tr>
	<tr>
		<td colspan="2">≪MySQL固有のオプション≫</td>
	</tr>
	<tr>
		<td>--db-url URL</td>
		<td>JDBC接続URLを設定。</td>
	</tr>
	<tr>
		<td>--db-user NAME</td>
		<td>MySQLアカウントのユーザー名。</td>
	</tr>
	<tr>
		<td>--db-password PASSWORD</td>
		<td>MySQLアカウントのパスワード。</td>
	</tr>
	<tr>
		<td colspan="2">≪REGEX 固有のオプション≫</td>
	</tr>
	<tr>
		<td>--regex-pattern PATTERN</td>
		<td>行を解析するパターン。ソースファイルのフォーマットとして 'regex' を使用する場合、このオプションは必須。</td>
	</tr>
	<tr>
		<td rowspan="34">import:auto &lt;session_name&gt; &lt;files...&gt;</td>
		<td rowspan="34">td import:create,td import:prepare,td import:upload,td import:perform,td import:commitを自動で実行する。</td>
		<td>--retry-count NUM</td>
		<td>リトライ回数を設定（デフォルト：10）。</td>
	</tr>
	<tr>
		<td>--auto-create DATABASE.TABLE</td>
		<td>設定されたデータベース名とテーブル名のバルクインポートセッションを作成する。このオプションを使用する場合は、第1引数にセッション名を設定不要。</td>
	</tr>
	<tr>
		<td>--parallel NUM</td>
		<td>アップロード並列数 (デフォルト: 2、最大 8）</td>
	</tr>
	<tr>
		<td>-f, --format FORMAT</td>
		<td>ソースファイルのフォーマット（[csv, tsv, json, msgpack, apache, regex, mysql]; default=csv）。</td>
	</tr>
	<tr>
		<td>-C, --compress TYPE</td>
		<td>圧縮タイプ（[gzip, none, auto]; default=auto detect）</td>
	</tr>
	<tr>
		<td>-T, --time-format FORMAT</td>
		<td>timeカラムの名前を設定。</td>
	</tr>
	<tr>
		<td>-e, --encoding TYPE</td>
		<td>エンコーディングタイプ [UTF-8など]を設定。</td>
	</tr>
	<tr>
		<td>-o, --output DIR</td>
		<td>出力フォルダ。（デフォルト：'out'）</td>
	</tr>
	<tr>
		<td>-s, --split-size SIZE_IN_KB</td>
		<td>パーツのサイズ (デフォルト: 16384)</td>
	</tr>
	<tr>
		<td>-t, --time-column NAME</td>
		<td>timeカラムの名前を設定。</td>
	</tr>
	<tr>
		<td>--time-value TIME,HOURS</td>
		<td>timeカラムの値を設定。データにタイムカラムがない場合にこのオプションで生成可能。</td>
	</tr>
	<tr>
		<td>--primary-key NAME:TYPE</td>
		<td>アイテムテーブルで宣言されている主キーの名前とタイプのペア。</td>
	</tr>
	<tr>
		<td>--prepare-parallel NUM</td>
		<td>並行処理数。(デフォルト: 2; 最大 96)</td>
	</tr>
	<tr>
		<td>--only-columns NAME,NAME,…</td>
		<td>設定したカラムのみを出力する。</td>
	</tr>
	<tr>
		<td>--exclude-columns NAME,NAME,…</td>
		<td>除外する列を設定する。</td>
	</tr>
	<tr>
		<td>--error-records-handling MODE</td>
		<td>エラーレコードハンドリングモード（[skip, abort]; default=skip）</td>
	</tr>
	<tr>
		<td>--invalid-columns-handling MODE</td>
		<td>無効なカラムを処理するモード（[autofix, warn]; default=warn）</td>
	</tr>
	<tr>
		<td>--error-records-output DIR</td>
		<td>エラーレコードを設定したフォルダに書き込む。</td>
	</tr>
	<tr>
		<td>--columns NAME,NAME,…</td>
		<td>カラム名 (1行目にカラム名がある場合は、--column-header を使用する。)</td>
	</tr>
	<tr>
		<td>--column-types TYPE,TYPE,…</td>
		<td>カラムの種類（[string, int, long, double]）。</td>
	</tr>
	<tr>
		<td>--column-type NAME:TYPE</td>
		<td>カラム名とタイプ [string, int, long, double]. カラム名とタイプは「age:int」のように設定可能。</td>
	</tr>
	<tr>
		<td>-S, --all-string</td>
		<td>自動型変換を無効にする。</td>
	</tr>
	<tr>
		<td>--empty-as-null-if-numeric</td>
		<td>カラムが数値型の場合、空の文字列値をNULL値として解釈する。</td>
	</tr>
	<tr>
		<td colspan="2">≪CSV/TSV特有のオプション≫</td>
	</tr>
	<tr>
		<td>--column-header</td>
		<td>1行目にカラム名を含む。</td>
	</tr>
	<tr>
		<td>--delimiter CHAR</td>
		<td>デリミタを設定。default=","</td>
	</tr>
	<tr>
		<td>--escape CHAR</td>
		<td>エスケープ文字を設定。default=&lt;br&gt;--newline TYPE：改行コードを設定。 [CRLF, LF, CR]; default=CRLF</td>
	</tr>
	<tr>
		<td>--quote CHAR</td>
		<td>クォートを設定。（[DOUBLE, SINGLE, NONE]; csvフォーマットの場合、デフォルト=DOUBLE tsvフォーマットの場合、デフォルト=NONE）</td>
	</tr>
	<tr>
		<td colspan="2">≪MySQL固有のオプション≫</td>
	</tr>
	<tr>
		<td>--db-url URL</td>
		<td>JDBC接続URLを設定。</td>
	</tr>
	<tr>
		<td>--db-user NAME</td>
		<td>MySQLアカウントのユーザー名。</td>
	</tr>
	<tr>
		<td>--db-password PASSWORD</td>
		<td>MySQLアカウントのパスワード。</td>
	</tr>
	<tr>
		<td colspan="2">≪REGEX 固有のオプション≫</td>
	</tr>
	<tr>
		<td>--regex-pattern PATTERN</td>
		<td>行を解析するパターン。ソースファイルのフォーマットとして 'regex' を使用する場合、このオプションは必須。</td>
	</tr>
	<tr>
		<td rowspan="3">import:perform &lt;session_name&gt;</td>
		<td rowspan="3">アップロードされたファイルの検証と変換を行う。</td>
		<td>-w, --wait</td>
		<td>ジョブの終了を待つ。</td>
	</tr>
	<tr>
		<td>-f, --force</td>
		<td>強制的に実行を開始する。</td>
	</tr>
	<tr>
		<td>-O, --pool-name NAME</td>
		<td>強制的に実行を開始する。</td>
	</tr>
	<tr>
		<td>import:error_records &lt;session_name&gt;</td>
		<td>検証に失敗したレコードを出力する。</td>
		<td></td>
		<td>リソースプール名を設定する。</td>
	</tr>
	<tr>
		<td>import:commit &lt;session_name&gt;</td>
		<td>セッションをコミットしてテーブルに全てのデータを反映する。</td>
		<td>-w, --wait</td>
		<td>コミットの終了を待つ。</td>
	</tr>
	<tr>
		<td>import:delete &lt;session_name&gt;</td>
		<td>一括インポートセッションを削除する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td>import:freeze &lt;session_name&gt;</td>
		<td>一括インポートセッションのそれ以降のデータアップロードを一時停止する/一括インポートセッションへの後続のアップロードを拒否する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td>import:unfreeze &lt;session_name&gt;</td>
		<td>一括インポートセッションのフリーズを解除する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td rowspan="5">import:config &lt;files...&gt;</td>
		<td rowspan="5">guess用のseed.ymlを作成する。</td>
		<td>-o, --out FILE_NAME</td>
		<td>connector:guess の出力ファイル名</td>
	</tr>
	<tr>
		<td>-f, --format FORMAT</td>
		<td>ソースファイルのフォーマット（[csv, tsv, mysql]; default=csv）</td>
	</tr>
	<tr>
		<td>--db-url URL</td>
		<td>データベース接続URLを設定する。</td>
	</tr>
	<tr>
		<td>--db-user NAME</td>
		<td>データベースのユーザー名を設定する。</td>
	</tr>
	<tr>
		<td>--db-password</td>
		<td>データベースのパスワードを設定する。</td>
	</tr>
</table>



### 例 td importの流れ
td importコマンドを使ったテーブルインポートの手順。

#### td import:create
インポートのセッションを作成する。

```shell
% td import:create sample_session database table
Bulk import session 'sample_session' is created.
```

#### td import:prepare
対象データをmsgpack形式に変換する。

```shell
% td import:prepare sample.csv --format csv --columns name,id,memo --column-types string,long,string --time-value `date +%s`,10

Preparing sources
  Output dir : out
  Source     : sample.csv (99 bytes)

Converting 'sample.csv'...
cannot get sample row

Prepare status:
  Elapsed time: 2 sec.
  Source     : sample.csv
    Status          : SUCCESS
    Read lines      : 5
    Valid rows      : 4
    Invalid rows    : 1
    Converted Files : out/sample_csv_0.msgpack.gz (117 bytes)


Next steps:
  => execute following 'td import:upload' command. if the bulk import session is not created yet, please create it with 'td import:create <session> <database> <table>' command.
```

#### td import:upload
変換したmsgpack形式ファイルをTDにアップロードする。

```shell
% td import:upload session out/sample_csv_0.msgpack.gz

Uploading prepared sources
  Session    : session
  Source     : out/sample_csv_0.msgpack.gz (117 bytes)

Uploading out/sample_csv_0.msgpack.gz (117 bytes)...

Upload status:
  Elapsed time: 3 sec.
  Source  : out/sample_csv_0.msgpack.gz
    Status          : SUCCESS
    Part name       : sample_csv_0_msgpack_gz
    Size            : 117
    Retry count     : 0


Next Steps:
  => execute 'td import:perform session'.

```

#### td import:perform
インポートを実行する。

```shell
% td import:perform session
Job XXXXXXXXXX is queued.
Use 'td job:show [-w] XXXXXXXXXX' to show the status.
```

#### td import:commit
インポートデータをテーブルにコミットする。

```shell
% td import:commit session
Bulk import session 'session' started to commit.
```


#### td import:config
S3バケットに保存されているcsvファイルからguessで使用するseed.ymlを作成する。

```shell
td import:config "s3://<AWS Access key ID>:<AWS Secret access key>@/bucket_name/sample.csv" -o ~/data/seed.yml
```

## td result
AuthenticationのDestination（export）を作成する。

<table>
	<tr>
		<td>コマンド</td>
		<td>説明</td>
		<td colspan="2">オプション</td>
	</tr>
	<tr>
		<td>result:list</td>
		<td>exportで使用できるDataConnectorのAuthenticationの一覧を出力する。</td>
		<td>-f, --format</td>
		<td>出力結果のフォーマットを設定する。(tsv, csv, json, table[デフォルト])</td>
	</tr>
	<tr>
		<td>result:show &lt;name&gt;</td>
		<td>AuthenticationのResultのURLを出力する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td rowspan="2">result:create &lt;name&gt; &lt;URL&gt;</td>
		<td rowspan="2">Authentication(Destination)を作成する。</td>
		<td>-u, --user NAME</td>
		<td>Authenticationのユーザー名を設定する。</td>
	</tr>
	<tr>
		<td>-p, --password</td>
		<td>Authenticationのパスワードを入力する。</td>
	</tr>
	<tr>
		<td>result:delete &lt;name&gt;</td>
		<td>Authentication(Destination)を削除する。</td>
		<td></td>
		<td></td>
	</tr>
</table>

### 例
#### td result:create
Authentication（Destination）を作成する。

```shell
% td result:create result_s3 "s3://<AWS Access key ID>:<AWS Secret access key>@"    #最後に@が必要
```

## td status (td s)

|コマンド|説明|オプション|
|:--|:--|:--|
|status|スケジュール状況、ジョブの状況、テーブル、Resultの状況を出力する。||# Show schedules, jobs, tables and results

## td schema
テーブルのスキーマのコマンド。

|コマンド|説明|オプション|
|:--|:--|:--|
|schema:show \<db> \<table> |テーブルのスキーマを出力する。||# Show schema of a table
|schema:set \<db> \<table> [columns...] |テーブルに新しいスキーマを設定する。既存のスキーマがある場合は、上書きするため注意。||# Set new schema on a table
|schema:add \<db> \<table> \<columns...> |テーブルに新しいスキーマを追加する。||# Add new columns to a table
|schema:remove \<db> \<table> \<columns...> |テーブルからスキーマを削除する。||# Remove columns from a table

### 例

#### td schema:set

```shell
% td schema:set database table user:string size:int
Schema is updated on database.table table.
```

## td sched
Saved Queryのコマンド。

<table>
	<tr>
		<td>コマンド</td>
		<td>説明</td>
		<td colspan="2">オプション</td>
	</tr>
	<tr>
		<td>sched:list</td>
		<td>Saved Queryを一覧出力する。（スケジュールされていないQueryも含む）</td>
		<td>-f, --format</td>
		<td>出力結果のフォーマットを設定する。(tsv, csv, json, table[デフォルト])</td>
	</tr>
	<tr>
		<td rowspan="11">sched:create &lt;name&gt; &lt;cron&gt; [sql]</td>
		<td rowspan="11">Saved Queryを作成する。</td>
		<td>-d, --database DB_NAME</td>
		<td>データベースを設定する。（必須）</td>
	</tr>
	<tr>
		<td>-t, --timezone</td>
		<td>タイムゾーンのTZ名を設定する。"Asia/Tokyo","America/Los_Angeles"など。"PST"や"PDT"などは設定不可。</td>
	</tr>
	<tr>
		<td>-D, --delay SECONDS</td>
		<td>スケジュールの遅延時間を設定する。</td>
	</tr>
	<tr>
		<td>-r, --result RESULT_URL</td>
		<td>結果をURLに書き込む。（result:create参照）</td>
	</tr>
	<tr>
		<td>-u, --user NAME</td>
		<td>結果のURLのユーザー名を設定する。</td>
	</tr>
	<tr>
		<td>-p, --password</td>
		<td>結果のURLのパスワードを聞く。</td>
	</tr>
	<tr>
		<td>-P, --priority PRIORITY</td>
		<td>優先度を設定する。</td>
	</tr>
	<tr>
		<td>-q, --query PATH</td>
		<td>クエリ記述ファイルを使用する。</td>
	</tr>
	<tr>
		<td>-R, --retry COUNT</td>
		<td>リトライ回数を設定する。</td>
	</tr>
	<tr>
		<td>-T, --type TYPE</td>
		<td>タイプ（presto,hive）を設定する。デフォルトはhive。</td>
	</tr>
	<tr>
		<td>--engine-version ENGINE_VERSION</td>
		<td>クエリエンジンのバージョンを名前で設定する。</td>
	</tr>
	<tr>
		<td>sched:delete &lt;name&gt;</td>
		<td>Saved Queryを削除する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td rowspan="11">sched:update &lt;name&gt;</td>
		<td rowspan="11">Saved Queryを更新する。</td>
		<td>-n, --newname NAME</td>
		<td>スケジュール名を変更する。</td>
	</tr>
	<tr>
		<td>-s, -schedule CRON</td>
		<td>スケジュールを変更する。</td>
	</tr>
	<tr>
		<td>-q, --query SQL</td>
		<td>クエリを変更する。</td>
	</tr>
	<tr>
		<td>-d, --database DB_NAME</td>
		<td>データベースを変更する。</td>
	</tr>
	<tr>
		<td>-r, --result RESULT_URL</td>
		<td>結果対象を変更する。（result:create参照）</td>
	</tr>
	<tr>
		<td>-t, --timezone</td>
		<td>タイムゾーンのTZ名を設定する。"Asia/Tokyo","America/Los_Angeles"など。"PST"や"PDT"などは設定不可。</td>
	</tr>
	<tr>
		<td>-D, --delay SECONDS</td>
		<td>スケジュールの遅延時間を変更する。</td>
	</tr>
	<tr>
		<td>-P, --priority PRIORITY</td>
		<td>優先度を設定する。</td>
	</tr>
	<tr>
		<td>-R, --retry COUNT</td>
		<td>リトライ回数を設定する。</td>
	</tr>
	<tr>
		<td>-T, --type TYPE</td>
		<td>タイプ（presto,hive）を設定する。</td>
	</tr>
	<tr>
		<td>--engine-version ENGINE_VERSION</td>
		<td>クエリエンジンのバージョンを名前で設定する。</td>
	</tr>
	<tr>
		<td rowspan="3">sched:history &lt;name&gt; [max]</td>
		<td rowspan="3">Saved QueryのRun Historyを出力する。</td>
		<td>-p, --page PAGE</td>
		<td>ページをスキップする。</td>
	</tr>
	<tr>
		<td>-s, --skip N</td>
		<td>N個のスケジュールをスキップする。</td>
	</tr>
	<tr>
		<td>-f, --format</td>
		<td>結果出力のフォーマットを設定する。(tsv, csv, json, table[デフォルト])</td>
	</tr>
	<tr>
		<td rowspan="2">sched:run &lt;name&gt; &lt;time&gt;</td>
		<td rowspan="2">Saved Queryを実行する。</td>
		<td>-n, --num N</td>
		<td>実行するジョブの数を設定する。</td>
	</tr>
	<tr>
		<td>-f, --format</td>
		<td>結果出力のフォーマットを設定する。(tsv, csv, json, table[デフォルト])</td>
	</tr>
	<tr>
		<td rowspan="10">sched:result &lt;name&gt;</td>
		<td rowspan="10">Saved Queryの最後に実行されたジョブのステータスと結果を出力する。</td>
		<td>-v, --verbose</td>
		<td>ログの出力。</td>
	</tr>
	<tr>
		<td>-w, --wait</td>
		<td>ジョブの終了を待つ。</td>
	</tr>
	<tr>
		<td>-G, --vertical</td>
		<td>結果を出力するためにverticalテーブルを使用する。</td>
	</tr>
	<tr>
		<td>-o, --output PATH</td>
		<td>ファイルに結果を書き込む。</td>
	</tr>
	<tr>
		<td>-l, --limit ROWS</td>
		<td>ファイルに出力しないときに出力する結果の行数を制限する。</td>
	</tr>
	<tr>
		<td>-c, --column-header</td>
		<td>テーブルにスキーマがある場合、カラムのヘッダーを出力する。テーブルのスキーマが利用可能な場合、カラムのヘッダを出力する。</td>
	</tr>
	<tr>
		<td>-x, --exclude</td>
		<td>ジョブの結果を自動的に取得しない。</td>
	</tr>
	<tr>
		<td>--null STRING</td>
		<td>csvまたはtsvでのNullStringを設定する。</td>
	</tr>
	<tr>
		<td>-f, --format</td>
		<td>ファイルに書き込むフォーマットを設定する。(tsv, csv, json, msgpack, msgpack.gz)</td>
	</tr>
	<tr>
		<td>--last N</td>
		<td>最後からN個前の結果を出力する。（デフォルト: 1）</td>
	</tr>
</table>


### 例
#### td sched:create
毎時0分にスケジュールでクエリ実行するS3バケットへエクスポートの設定。presto設定、[優先度](https://docs.treasuredata.com/display/public/PD/Setting+Job+Priority)0、ディレイ0秒、リトライ1回

```shell
% td sched:create saved_query1 "0 * * * *" -d ue_database "select * from sample" -r "s3://<AWS Access key ID>:<AWS Secret access key>@/bucket_name/sample.csv" -T presto -P 0 -D 0 -R 1
```

#### td sched:result
saved_query1の結果を出力する。

```shell
% td sched:result saved_query1
JobID       : XXXXXXXXX
Status      : success
Type        : presto
Database    : database1
Priority    : NORMAL
Retry limit : 0
Output      :
Query       : SELECT * FROM sample
Result size : 87 B
Result      :
+------+-----+---------------+------------+
| name | id  | memo          | time       |
+------+-----+---------------+------------+
| John | 110 | hogaotuaaaa   | 1616042454 |
| Ben  | 111 | hogaotuadfara | 1616042454 |
| Jane | 112 | hogaotuacarf  | 1616042454 |
| Bob  | 113 | hogaotuacava  | 1616042454 |
+------+-----+---------------+------------+
4 rows in set
Use '-v' option to show detailed messages.
```

## td query
クエリのコマンド。

<table>
	<tr>
		<td>コマンド</td>
		<td>説明</td>
		<td colspan="2">オプション</td>
	</tr>
	<tr>
		<td rowspan="17">td query [sql]</td>
		<td rowspan="17">TDでクエリーを実行する。</td>
		<td>-d, --database</td>
		<td>データベース名を設定する。</td>
	</tr>
	<tr>
		<td>-w, --wait[=SECONDS]</td>
		<td>ジョブの終了を待つ。</td>
	</tr>
	<tr>
		<td>-G, --vertical</td>
		<td>テーブルの形で結果を出力する。</td>
	</tr>
	<tr>
		<td>-o, --output</td>
		<td>結果出力ファイルを出力する。</td>
	</tr>
	<tr>
		<td>-f, --format</td>
		<td>ファイル出力形式を設定する。(tsv, csv, json, msgpack, and msgpack.gz)</td>
	</tr>
	<tr>
		<td>-r, --result</td>
		<td>Result ExportのURLを設定する。</td>
	</tr>
	<tr>
		<td>-u, --user</td>
		<td>Result Export URLのユーザー名を設定する。</td>
	</tr>
	<tr>
		<td>-p, --password</td>
		<td>URLのパスワードを聞くようにする。</td>
	</tr>
	<tr>
		<td>-P, --priority</td>
		<td>優先度を設定する。</td>
	</tr>
	<tr>
		<td>-R, --retry</td>
		<td>リトライ回数を設定する。</td>
	</tr>
	<tr>
		<td>-q, --query</td>
		<td>クエリファイルを設定する。</td>
	</tr>
	<tr>
		<td>-T, --type</td>
		<td>hiveかprestoを設定する。</td>
	</tr>
	<tr>
		<td>-l, --limit</td>
		<td>結果行数を制限する。</td>
	</tr>
	<tr>
		<td>-c, --column-header</td>
		<td>ヘッダーを出力する。</td>
	</tr>
	<tr>
		<td>-x, --exclude</td>
		<td>ジョブの結果を自動的に取得しない。</td>
	</tr>
	<tr>
		<td>-O, --pool-name</td>
		<td>リソースプール名を設定する。</td>
	</tr>
	<tr>
		<td>--domain-key</td>
		<td>オプションのユーザー提供の一意のIDを設定する。このIDをリクエストに含めて、冪等性を確保できる。</td>
	</tr>
</table>



### 例
ローカル環境にクエリ結果をcsv出力する。presto使用パターン。

```shell
% td query -d database1 -w  "select * from sample" -f csv -o ~/data/sample.csv -c -T presto
```

S3バケットにクエリ結果をcsv出力する。

```shell
% td query -d database1  "select * from sample" -f csv -T presto -r "s3://<AWS Access key ID>:<AWS Secret access key>@/bucket_name/sample.csv" 
```


## td job
ジョブのコマンド。

<table>
	<tr>
		<td>コマンド</td>
		<td>説明</td>
		<td colspan="2">オプション</td>
	</tr>
	<tr>
		<td rowspan="9">job:show &lt;job_id&gt;</td>
		<td rowspan="9">ジョブのステータスと結果を出力する。</td>
		<td>-v, --verbose</td>
		<td>詳細ログを出力する。</td>
	</tr>
	<tr>
		<td>-w, --wait</td>
		<td>ジョブの終了を待つ。</td>
	</tr>
	<tr>
		<td>-G, --vertical</td>
		<td>テーブルを使用して結果を出力する。</td>
	</tr>
	<tr>
		<td>-o, --output PATH</td>
		<td>結果をファイルに出力する。</td>
	</tr>
	<tr>
		<td>-l, --limit ROWS</td>
		<td>出力結果の行数を制限する。</td>
	</tr>
	<tr>
		<td>-c, --column-header</td>
		<td>テーブルにスキーマがある場合、カラムのヘッダーを出力する。</td>
	</tr>
	<tr>
		<td>-x, --exclude</td>
		<td>ジョブの結果を自動的に取得しない。</td>
	</tr>
	<tr>
		<td>--null STRING</td>
		<td>CSVまたはTSVでのNullStringを設定する。</td>
	</tr>
	<tr>
		<td>-f, --format</td>
		<td>ファイルに書き込む結果のフォーマットを設定する。 (tsv, csv, json, msgpack, msgpack.gz)</td>
	</tr>
	<tr>
		<td>job:status &lt;job_id&gt;</td>
		<td>ジョブのステータスのみ出力する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td rowspan="7">job:list [max]</td>
		<td rowspan="7">ジョブの一覧を出力する。</td>
		<td>-p, --page PAGE</td>
		<td>ページをスキップする。</td>
	</tr>
	<tr>
		<td>-s, --skip N</td>
		<td>N個のジョブをスキップする。</td>
	</tr>
	<tr>
		<td>-R, --running</td>
		<td>実行中のジョブのみを出力する。</td>
	</tr>
	<tr>
		<td>-S, --success</td>
		<td>成功したジョブのみを出力する。</td>
	</tr>
	<tr>
		<td>-E, --error</td>
		<td>失敗したジョブのみを出力する。</td>
	</tr>
	<tr>
		<td>--slow [SECONDS]</td>
		<td>処理が遅いクエリを出力する。(デフォルトの閾値: 3600 秒)</td>
	</tr>
	<tr>
		<td>-f, --format 結果のフォーマット。</td>
		<td>結果のフォーマットを設定する。 (tsv, csv, json, table[デフォルト])</td>
	</tr>
	<tr>
		<td>job:kill &lt;job_id&gt;</td>
		<td>ジョブをkillする。</td>
		<td></td>
		<td></td>
	</tr>
</table>


### 例
#### td job:list
Jobの最新のみ出力する。

```shell
% td job:list 1
```

#### td job:show
Jobの詳細ログを出力する。

```shell
% td job:show 999999999 -v 
```


## td password
自分のパスワードのコマンド。

|コマンド|説明|オプション|
|:--|:--|:--|
|password:change | （自分の）パスワードを変更する。|                          |# Change password

### 例

```shell
% td password:change
```

## td apikey
自分のapikeyのコマンド。

|コマンド|説明|オプション|
|:--|:--|:--|
|  apikey:show |(自分の)API Keyを出力する。これはconfigファイルに設定されているapikey。|                               |# Show Treasure Data API key
|  apikey:set \<apikey> |(自分の)API Keyをtd cliにセットする。|                        |# Set Treasure Data API key

### 例
#### td apikey:show
自分のapikeyを出力する。

```shell
% td apikey:show
```

## td server
TDのサーバのコマンド。

|コマンド|説明|オプション|
|:--|:--|:--|
|server:status | Treasure Dataのステータスを出力する。|                            |# Show status of the Treasure Data server
|server:endpoint \<api_endpoint> | Treasure DataのAPI Serverのエンドポイントを設定する。|           |# Set the Treasure Data API server's endpoint (must be a valid URI)

### 例
#### td server:endpoint
Treasure DataのAPI Serverのエンドポイントを設定する。エンドポイントの情報は[Sites and Endpoints](https://docs.treasuredata.com/display/public/PD/Sites+and+Endpoints)を参照。
ここではUSリージョンのエンドポイントを設定する例とする。リンク先の情報には記載がないが、"https://"を記述する必要がある。（記述しない場合はエラーとなる。）

```shell
% td server:endpoint https://api.treasuredata.com
```

## td sample
サンプルデータを作成するコマンド。

|コマンド|説明|オプション|
|:--|:--|:--|
|sample:apache \<path.json> | apacheログのサンプルを出力する。|                |# Create a sample log file

### 例
カレントフォルダーにsample.jsonという名前で、サンプルを作成する。

```shell
% td sample:apache sample.json
```

## td connector
TDコンソール画面での名称sourceのコマンド。

<table>
	<tr>
		<td>コマンド</td>
		<td>説明</td>
		<td colspan="2">オプション</td>
	</tr>
	<tr>
		<td rowspan="2">connector:guess</td>
		<td rowspan="2">seed.ymlを設定し、guessを実行することでload.yml（コネクタ構成ファイル）を生成する。KeyがURLエンコードされていると、エラーになるので注意。</td>
		<td>-o, --out FILE_NAME</td>
		<td>connector:previewの出力ファイル名を設定する。</td>
	</tr>
	<tr>
		<td>-g, --guess NAME,NAME,...</td>
		<td>ユーザーが使用したい推測のリストを設定する。</td>
	</tr>
	<tr>
		<td>connector:preview</td>
		<td>コネクタ実行のプレビューを出力する。</td>
		<td>-f, --format</td>
		<td>ファイル出力形式。(tsv, csv, json, msgpack, table デフォルトはtable)</td>
	</tr>
	<tr>
		<td rowspan="5">connector:issue --database &lt;database&gt; --table &lt;table&gt;</td>
		<td rowspan="5">source(コネクタ)を保存せずに実行する。</td>
		<td>--database DB_NAME</td>
		<td>インポート先のデータベース名を設定する。</td>
	</tr>
	<tr>
		<td>--table TABLE_NAME</td>
		<td>インポート先のテーブル名を設定する。</td>
	</tr>
	<tr>
		<td>--time-column COLUMN_NAME</td>
		<td>timeカラムを設定する。</td>
	</tr>
	<tr>
		<td>-w, --wait</td>
		<td>ジョブの終了を待つ。</td>
	</tr>
	<tr>
		<td>--auto-create-table</td>
		<td>テーブルが存在しない場合、作成する。</td>
	</tr>
	<tr>
		<td>connector:list</td>
		<td>TDコンソールのsourceのリストを出力する。</td>
		<td>-f, --format</td>
		<td>ファイル出力形式。(tsv, csv, json, msgpack, table デフォルトはtable)</td>
	</tr>
	<tr>
		<td rowspan="3">connector:create &lt;connector_UniqueId&gt; &lt;cron&gt; &lt;database&gt; &lt;table&gt; &lt;config&gt;</td>
		<td rowspan="3">source(コネクタ)を作成する。ここで設定するUniqueIdはsourceのUniqueId。TDコンソール画面の名前とは一致しない。デフォルトでIncrementalにチェックがつく。</td>
		<td>--time-column COLUMN_NAME</td>
		<td>timeカラム名を設定する。</td>
	</tr>
	<tr>
		<td>-t, --timezone</td>
		<td>タイムゾーンのTZ名を設定する。"Asia/Tokyo","America/Los_Angeles"など。"PST"や"PDT"などは設定不可。</td>
	</tr>
	<tr>
		<td>-D, --delay SECONDS</td>
		<td>スケジュールの遅延時間を設定する。</td>
	</tr>
	<tr>
		<td>connector:show &lt;connector_name&gt;</td>
		<td>source(コネクタ)の情報を出力する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td rowspan="8">connector:update &lt;connector_name&gt; [config]</td>
		<td rowspan="8">source(コネクタ)の情報を更新する。</td>
		<td>-n, --newname NAME</td>
		<td>コネクタ名(source)を変更する。</td>
	</tr>
	<tr>
		<td>-d, --database DB_NAME</td>
		<td>データベースを変更する。</td>
	</tr>
	<tr>
		<td>-t, --table TABLE_NAME</td>
		<td>テーブルを変更する。</td>
	</tr>
	<tr>
		<td>-s, -schedule [CRON]</td>
		<td>スケジュールを変更する。何も設定しない場合、スケジュールは削除となる。</td>
	</tr>
	<tr>
		<td>-t, --timezone</td>
		<td>タイムゾーンのTZ名を設定する。"Asia/Tokyo","America/Los_Angeles"など。"PST"や"PDT"などは設定不可。</td>
	</tr>
	<tr>
		<td>-T, --time-column COLUMN_NAME</td>
		<td>timeカラムを変更する。</td>
	</tr>
	<tr>
		<td>-c, --config CONFIG_FILE</td>
		<td>コネクタのconfigファイルを更新する。</td>
	</tr>
	<tr>
		<td>--config-diff CONFIG_DIFF_FILE</td>
		<td>config_diffファイルコネクタの設定を更新する。</td>
	</tr>
	<tr>
		<td>connector:delete &lt;connector_name&gt;</td>
		<td>source(コネクタ)を削除する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td>connector:history &lt;connector_name&gt;</td>
		<td>source(コネクタ)の実行履歴を出力する。レコード数も確認できる。</td>
		<td>-f, --format</td>
		<td>ファイル出力形式を設定する。(tsv, csv, json, msgpack, table[デフォルト])</td>
	</tr>
	<tr>
		<td>connector:run &lt;connector_name&gt; [time]</td>
		<td>設定された時間オプションのセッションでコネクタを実行する。</td>
		<td>-w, --wait</td>
		<td>ジョブの終了を待つ。</td>
	</tr>
</table>


### 例
#### td connector:create
毎時0分にload.ymlに記載されたload処理を行う。インポート先は、database1.table1を設定。

```shell
% td connector:create connector1 "0 * * * *" database1 table1 load.yml
```

毎日(daily)load.ymlに記載されたload処理を行う。

```shell
% td connector:create connector1 @daily database1 table1 load.yml
```

#### td connector:issue
Sourceを実行する。

```shell
% td connector:issue load.yml
```

#### td connector:run
connector1を今すぐ実行する。

```shell
% td connector:run connector1
```

#### Config Diffの変更手順 (S3 connectorの場合)
Config Diffを確認する。

```shell
% td connector:show connector1
Name     : connector1
Cron     :
Timezone : Asia/Tokyo
Delay    : 0
Database : database
Table    : sample
Config
---
in:
  auth_method: basic
  access_key_id: "***"
  secret_access_key: "***"
  bucket: bucket
  path_prefix: folder/sample
  use_modified_time: false
  incremental: true
...省略
Config Diff
---
in:
  last_path: folder/sample20210710.csv
```

更新するConfig Diffファイルを作成する。(この例では1日分ファイルを戻す)
config_diff.ymlの中身はこんな感じ。

```shell
in:
  last_path: folder/sample20210709.csv
```

Config Diffファイルを指定して、td connector:updateで更新する。

```shell
% td connector:update connector1 --config-diff config_diff.yml
...省略
Config Diff
---
in:
  last_path: folder/sample20210709.csv
out: {}
exec: {}
filters: []
```


## td workflow (td wf)
Workflowのコマンド。

### Local-mode commands:
ローカル環境でWorkflowの実行を試せる。

<table>
	<tr>
		<td>コマンド</td>
		<td>説明</td>
		<td colspan="2">オプション</td>
	</tr>
	<tr>
		<td rowspan="6">init</td>
		<td rowspan="6">ローカルにプロジェクトフォルダとdigファイル(sample)を作成する。</td>
		<td>-t, --type EXAMPLE_TYPE</td>
		<td>サンプルプロジェクトのタイプ (echo/sh/ruby/python/td/postgresql. デフォルト: echo)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージを設定したファイルに出力する。 (デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。(error, warn, info, debug, trace)</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンスシステムconfigを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/user_name/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan="19">r[un]</td>
		<td rowspan="19">ローカルモードでWorkflowを実行する。</td>
		<td>--project DIR</td>
		<td>このディレクトリをプロジェクトディレクトリとして使用する。（デフォルト：カレントディレクトリ）</td>
	</tr>
	<tr>
		<td>-a, --rerun</td>
		<td>.digdag/status に保存されているステータスファイルを無視して、すべてのタスクを再実行する。</td>
	</tr>
	<tr>
		<td>-s, --start +NAME</td>
		<td>ステータスファイルが.digdag/statusに保存されていても、このタスクとその次のタスクを実行する。</td>
	</tr>
	<tr>
		<td>-g, --goal +NAME</td>
		<td>このタスクとその子タスクのステータス・ファイルが.digdag/statusに保存されていても実行する。</td>
	</tr>
	<tr>
		<td>-e, --end +NAME</td>
		<td>このタスクとそれに続くタスクをスキップする。</td>
	</tr>
	<tr>
		<td>-o, --save DIR</td>
		<td>ステータス・ファイルの読み書きにこのディレクトリを使用する。(デフォルト: .digdag/status)</td>
	</tr>
	<tr>
		<td>--no-save</td>
		<td>.digdag/statusにステータスファイルを保存しない。</td>
	</tr>
	<tr>
		<td>-p, --param KEY=VALUE</td>
		<td>-p, --param KEY=VALUE パラメータを上書きする。（多くのパラメータを設定するには複数回使用する）</td>
	</tr>
	<tr>
		<td>-P, --params-file PATH.yml</td>
		<td>YAMLファイルからパラメータを読み込む。</td>
	</tr>
	<tr>
		<td>-d, --dry-run</td>
		<td>ドライランモードではタスクを実行しない。</td>
	</tr>
	<tr>
		<td>-E, --show-params</td>
		<td>タスクを実行する前にタスクパラメーターを出力する。</td>
	</tr>
	<tr>
		<td>-session &lt;daily/hourly/schedule/last"yyyy-MM-dd[HH : mm : ss]&gt;</td>
		<td>session_timeをこの時間に設定する。(デフォルト: last, .digdag/statusに保存されている最新のセッションタイムを再利用する。)</td>
	</tr>
	<tr>
		<td>--max-task-threads</td>
		<td>実行中のタスク実行スレッドの最大数を制限する。</td>
	</tr>
	<tr>
		<td>-O, --task-log DIR</td>
		<td>タスクログをこのパスに格納する。</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。 (デフォルト: -)</td>
	</tr>
	<tr>
		<td>-L, --log-level LEVEL</td>
		<td>ログレベルを設定する。(error, warn, info, debug, trace)</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンスシステムconfigを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/user_name/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan="8">c[heck]</td>
		<td rowspan="8">ローカルのWorkflowの定義をチェックする。</td>
		<td>--project DIR</td>
		<td>このディレクトリをプロジェクトディレクトリとして使用する。（デフォルト：カレントディレクトリ）</td>
	</tr>
	<tr>
		<td>-p, --param KEY=VALUE</td>
		<td>パラメータを上書きする。（多くのパラメータを設定するには複数回使用する）</td>
	</tr>
	<tr>
		<td>-P, --params-file PATH.yml</td>
		<td>YAMLファイルからパラメータを読み込む。</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。 (デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。(error, warn, info, debug, trace)</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンスシステムconfigを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/***/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan="13">sched[uler]</td>
		<td rowspan="13">スケジューラーサーバを実行する。</td>
		<td>--project DIR</td>
		<td>このディレクトリをプロジェクトディレクトリとして使用する。（デフォルト：カレントディレクトリ）</td>
	</tr>
	<tr>
		<td>-n, --port PORT</td>
		<td>ウェブインターフェイスとAPIクライアントをリッスンするポート番号を設定する。（デフォルト：65432）</td>
	</tr>
	<tr>
		<td>-b, --bind ADDRESS</td>
		<td>HTTPクライアントをリッスンするIPアドレスを設定する。 (デフォルト: 127.0.0.1)</td>
	</tr>
	<tr>
		<td>-o, --database DIR</td>
		<td>このデータベースにステータスを保存する。</td>
	</tr>
	<tr>
		<td>-O, --task-log</td>
		<td>タスクログを保存するパスを設定する。</td>
	</tr>
	<tr>
		<td>--max-task-threads</td>
		<td>タスク実行スレッドの最大数を制限する。</td>
	</tr>
	<tr>
		<td>-p, --param KEY=VALUE</td>
		<td>パラメータを上書きする。（多くのパラメータを設定するには複数回使用する。）</td>
	</tr>
	<tr>
		<td>-P, --params-file PATH.yml</td>
		<td>YAMLファイルからパラメータを読み込む。</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。 (デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。(error, warn, info, debug, trace)</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンスシステムconfigを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/***/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan="2">migrate (run/check)</td>
		<td rowspan="2">データベースを移行する。</td>
		<td>-c, --config PATH.properties</td>
		<td>configファイルを設定する。(デフォルト: ~/.config/digdag/config)</td>
	</tr>
	<tr>
		<td>-o, --database DIR</td>
		<td>データベースへのDIRパスを設定する。</td>
	</tr>
	<tr>
		<td rowspan="5">selfupdate</td>
		<td rowspan="5">td workflowコマンドをアップデートする。</td>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。(デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。 (error, warn, info, debug, trace)</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンスシステムconfigを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/***/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
</table>



### Server-mode commands
ローカル環境でWorkflow(digdag)サーバを立ち上げる。

<table>
	<tr>
		<td>コマンド</td>
		<td>説明</td>
		<td colspan="2">オプション</td>
	</tr>
	<tr>
		<td rowspan="21">server</td>
		<td rowspan="21">ローカルでサーバを実行する。</td>
		<td>-n, --port PORT</td>
		<td>WEBインターフェイスとAPIクライアントをリッスンするポート番号を設定する。（デフォルト：65432）</td>
	</tr>
	<tr>
		<td>-b, --bind ADDRESS</td>
		<td>HTTPクライアントをリッスンするIPアドレスを設定する。（デフォルト：127.0.0.1）</td>
	</tr>
	<tr>
		<td>--admin-port PORT</td>
		<td>管理者用APIをバインドするポート番号を設定する。(デフォルト: 管理者用ポートなし)</td>
	</tr>
	<tr>
		<td>--admin-bind ADDRESS</td>
		<td>管理者用APIをバインドするIPアドレスを設定する。（デフォルト：--bindと同じアドレス）</td>
	</tr>
	<tr>
		<td>-m, --memory</td>
		<td>メモリデータベースを使用する。</td>
	</tr>
	<tr>
		<td>-o, --database DIR</td>
		<td>このデータベースにステータスを保存する。</td>
	</tr>
	<tr>
		<td>-O, --task-log DIR</td>
		<td>タスクログをこのパスに格納する。</td>
	</tr>
	<tr>
		<td>-A, --access-log DIR</td>
		<td>アクセスログを保存する。</td>
	</tr>
	<tr>
		<td>--max-task-threads N</td>
		<td>タスク実行スレッドの最大数を N 個に制限する。</td>
	</tr>
	<tr>
		<td>--disable-executor-loop</td>
		<td>ワークフローの実行ループを無効にする。</td>
	</tr>
	<tr>
		<td>--disable-scheduler</td>
		<td>スケジューラーを無効にする。</td>
	</tr>
	<tr>
		<td>--disable-local-agent</td>
		<td>ローカルタスクの実行を無効にする。</td>
	</tr>
	<tr>
		<td>--enable-swagger</td>
		<td>swagger api を有効にする。CORSが有効になっているので、本番環境では使用しないでください。</td>
	</tr>
	<tr>
		<td>-p, --param KEY=VALUE</td>
		<td>パラメータを上書きする。（複数のパラメータはこのオプションを複数回使用して設定する。）</td>
	</tr>
	<tr>
		<td>-H, --header KEY=VALUE</td>
		<td>APIのHTTP レスポンスに含めるヘッダーを設定する。</td>
	</tr>
	<tr>
		<td>-P, --params-file PATH.yml</td>
		<td>YAMLファイルからパラメータを読み込む。</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。(デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
</table>





### Client-mode commands:

<table>
	<tr>
		<td>コマンド</td>
		<td>説明</td>
		<td colspan="2">オプション</td>
	</tr>
	<tr>
		<td rowspan="10">push &lt;project-name&gt;</td>
		<td rowspan="10">新しいリビジョンを作成してプロジェクトをアップロードする。</td>
		<td>--project DIR</td>
		<td>このディレクトリをプロジェクトのディレクトリとして使用する。（デフォルト：カレントディレクトリ）</td>
	</tr>
	<tr>
		<td>-r, --revision</td>
		<td>自動生成されたUUIDの代わりに、特定のリビジョン名を設定する。</td>
	</tr>
	<tr>
		<td><code>-schedule-from "yyyy-MM-dd HH:mm:ss Z"</code></td>
		<td>現在の時刻ではなく、この時刻からスケジュールを開始する。</td>
	</tr>
	<tr>
		<td>--copy-outgoing-symlinks</td>
		<td>シンボリックリンクを通常のファイルやディレクトリに変換する。</td>
	</tr>
	<tr>
		<td>-e, --endpoint HOST[:PORT]</td>
		<td>HTTPエンドポイントを設定する。 (デフォルト: http://127.0.0.1:65432)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。 (デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan="8">download &lt;project-name&gt;</td>
		<td rowspan="8">アップロードされているリビジョンのワークフローをプルする。</td>
		<td>-r, --revision</td>
		<td>最新のリビジョンではなく、特定のリビジョン名を抽出する。</td>
	</tr>
	<tr>
		<td>-o, --output DIR</td>
		<td>この出力ディレクトリにファイルを抽出する。</td>
	</tr>
	<tr>
		<td>-e, --endpoint HOST[:PORT]</td>
		<td>HTTPエンドポイントを設定する。 (デフォルト: http://127.0.0.1:65432)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。 (デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan="12">start &lt;project-name&gt; &lt;workflow_name&gt;</td>
		<td rowspan="12">ワークフローの新しいセッションを開始する。</td>
		<td><code>-session &lt;hourly | daily | now | yyyy-MM-dd | "yyyy-MM-dd HH:mm:ss"&gt;</code></td>
		<td>session_timeをこの時間に設定する。（必須）</td>
	</tr>
	<tr>
		<td>--revision &lt;name&gt;</td>
		<td>過去のリビジョンを使用する。</td>
	</tr>
	<tr>
		<td>--retry NAME</td>
		<td>新しいセッションへの再試行の名前を設定する。</td>
	</tr>
	<tr>
		<td>-d, --dry-run</td>
		<td>セッションの試行をドライランする。</td>
	</tr>
	<tr>
		<td>-p, --param KEY=VALUE</td>
		<td>セッションパラメータを追加する。（複数回使用して多くのパラメータを設定する。）</td>
	</tr>
	<tr>
		<td>-P, --params-file PATH.yml</td>
		<td>YAMLファイルからセッションパラメータを読み込む。</td>
	</tr>
	<tr>
		<td>-e, --endpoint HOST[:PORT]</td>
		<td>HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。(デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan="7">retry &lt;attempt-id&gt;</td>
		<td rowspan="7">セッションをリトライする。</td>
		<td>--name &lt;name&gt;</td>
		<td>自動生成されたUUIDの代わりに、この再試行のユニークな識別子を使用する。</td>
	</tr>
	<tr>
		<td>--latest-revision</td>
		<td>最新のリビジョンを使用する。</td>
	</tr>
	<tr>
		<td>--keep-revision</td>
		<td>同じリビジョンを使用する。</td>
	</tr>
	<tr>
		<td>--revision &lt;name&gt;</td>
		<td>特定のリビジョンを使用する。</td>
	</tr>
	<tr>
		<td>--all</td>
		<td>すべてのタスクを再試行する。</td>
	</tr>
	<tr>
		<td>--resume</td>
		<td>失敗したタスクだけを再試行する。</td>
	</tr>
	<tr>
		<td>--resume-from &lt;+name&gt;</td>
		<td>特定のタスクから再試行する。</td>
	</tr>
	<tr>
		<td rowspan="6">kill &lt;attempt-id&gt;</td>
		<td rowspan="6">セッションをkillする。</td>
		<td>-e, --endpoint HOST[:PORT]</td>
		<td>HTTPエンドポイントを設定する。 (デフォルト: http://127.0.0.1:65432)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。 (デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan="9">backfill &lt;schedule-id&gt;<br><br>backfill &lt;project-name&gt; &lt;workflow_name&gt;</td>
		<td rowspan="9">スケジュールの過去のセッションを実行する。<br><br>Workflowのセッションを開始する。</td>
		<td><code>-f, --from 'yyyy-MM-dd[ HH:mm:ss]'</code></td>
		<td>バックフィルを開始する。タイムスタンプ必須。</td>
	</tr>
	<tr>
		<td>--name NAME</td>
		<td>再試行の名前を設定する。</td>
	</tr>
	<tr>
		<td>-d, --dry-run</td>
		<td>セッションの試行をドライランする。</td>
	</tr>
	<tr>
		<td>--count N</td>
		<td>スケジュール時刻から実行するセッションの数を設定する。 (デフォルト: 次のスケジュール時刻までの全セッション)</td>
	</tr>
	<tr>
		<td>-e, --endpoint HOST[:PORT]</td>
		<td>HTTPエンドポイントを設定する。 (デフォルト: http://127.0.0.1:65432)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。 (デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan='9'>reschedule &lt;schedule-id&gt;<br><br>reschedule &lt;project-name&gt; &lt;workflow_name&gt;</td>
		<td rowspan='9'>>スケジュールセッションを次のスケジュールにスキップする。<br><br>スケジュールセッションを次のスケジュールにスキップする。</td>
		<td>-s, --skip N</td>
		<td>今から設定された数のスケジュールをスキップする。</td>
	</tr>
	<tr>
		<td>-t, --skip-to <code>'yyyy-MM-dd HH:mm:ss Z'</code> | 'now'</td>
		<td>設定された時刻までのスケジュールをスキップする。</td>
	</tr>
	<tr>
		<td><code>-a, --run-at 'yyyy-MM-dd HH:mm:ss Z'</code></td>
		<td>次の実行時間をこの時間に設定する。</td>
	</tr>
	<tr>
		<td>-d, --dry-run</td>
		<td>再スケジュールをドライランする。</td>
	</tr>
	<tr>
		<td>-e, --endpoint HOST[:PORT]</td>
		<td>HTTPエンドポイントを設定する。 (デフォルト: http://127.0.0.1:65432)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。 (デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan='8'>log &lt;attempt-id&gt;</td>
		<td rowspan='8'>attemptのログを出力する。</td>
		<td>-v, --verbose</td>
		<td>デバッグログを出力する。</td>
	</tr>
	<tr>
		<td>-f, --follow</td>
		<td>atrtemptやタスクが終了するまで新しいログを出力する。</td>
	</tr>
	<tr>
		<td>-e, --endpoint HOST[:PORT]</td>
		<td>HTTPエンドポイントを設定する。 (デフォルト: http://127.0.0.1:65432)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。 (デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan='6'>projects [name]</td>
		<td rowspan='6'>プロジェクトの"name","id","revision","archive type","project created at","revision updated at"を出力する。</td>
		<td>-e, --endpoint HOST[:PORT]</td>
		<td>HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。(デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan='6'>workflows [project-name] [workflow_name]</td>
		<td rowspan='6'>Workflowのdigファイルの内容を出力する。</td>
		<td>-e, --endpoint HOST[:PORT]</td>
		<td>HTTPエンドポイントを設定する。 (デフォルト: http://127.0.0.1:65432)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。(デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan='6'>schedules</td>
		<td rowspan='6'>スケジュールされているWorkflowを出力する。</td>
		<td>-e, --endpoint HOST[:PORT]</td>
		<td>HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。(デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan='6'>disable &lt;schedule-id&gt;<br><br>disable &lt;project-name&gt;<br><br>disable &lt;project-name&gt; &lt;workflow_name&gt;</td>
		<td rowspan='6'>設定したスケジュールIDを無効にする。<br><br>プロジェクトの全てのWorkflowのスケジュールを無効にする。<br><br>設定したWorkflowのスケジュールを無効にする。</td>
		<td>-e, --endpoint HOST[:PORT]</td>
		<td>HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。(デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan='6'>enable &lt;schedule-id&gt;<br><br>enable &lt;project-name&gt;<br><br>enable &lt;project-name&gt; &lt;workflow_name&gt;</td>
		<td rowspan='6'>設定したスケジュールIDを有効にする。<br><br>プロジェクトの全てのWorkflowのスケジュールを有効にする。<br><br>設定したWorkflowのスケジュールを有効にする。</td>
		<td>-e, --endpoint HOST[:PORT]</td>
		<td>HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。(デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan='8'>sessions<br><br>sessions &lt;project-name&gt;<br><br>sessions &lt;project-name&gt; &lt;workflow_name&gt;</td>
		<td rowspan='8'>Workflowのセッション情報を出力する。<br><br>プロジェクト内のすべてのWorkflowのセッション情報を出力する。<br><br>設定したWorkflowのセッション情報を出力する。</td>
		<td>-i, --last-id ID</td>
		<td>このIDよりも古いセッションを出力する。</td>
	</tr>
	<tr>
		<td>-s, --page-size</td>
		<td>ページサイズの数（デフォルトでは100まで）のセッションを出力する。</td>
	</tr>
	<tr>
		<td>-e, --endpoint HOST[:PORT]</td>
		<td>HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。(デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan='8'>session &lt;session-id&gt;</td>
		<td rowspan='8'>設定したセッション情報を出力する。</td>
		<td>-i, --last-id ID</td>
		<td>このIDよりも古いセッションを出力する。</td>
	</tr>
	<tr>
		<td>-s, --page-size</td>
		<td>ページサイズの数（デフォルトでは100まで）のセッションを出力する。</td>
	</tr>
	<tr>
		<td>-e, --endpoint HOST[:PORT]</td>
		<td>HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。(デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan='8'>attempts<br><br>attempts &lt;session-id&gt;</td>
		<td rowspan='8'>全セッションのattempt情報を出力する。<br><br>設定したセッションのattempt情報を出力する。</td>
		<td>-i, --last-id ID</td>
		<td>このIDからのセッション試行回数を出力する。</td>
	</tr>
	<tr>
		<td>-s, --page-size</td>
		<td>このページサイズの数（デフォルトでは100まで）のセッションの試行回数を出力する。</td>
	</tr>
	<tr>
		<td>-e, --endpoint HOST[:PORT]</td>
		<td>HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。(デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan='6'>attempt &lt;attempt-id&gt;</td>
		<td rowspan='6'>設定したattempt情報を出力する。</td>
		<td>-e, --endpoint HOST[:PORT]</td>
		<td>HTTPエンドポイントを設定する。 (デフォルト: http://127.0.0.1:65432)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。(デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan='6'>tasks &lt;attempt-id&gt;</td>
		<td rowspan='6'>attemptのタスク情報を出力する。</td>
		<td>-e, --endpoint HOST[:PORT]</td>
		<td>HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。(デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan='7'>delete &lt;project-name&gt;</td>
		<td rowspan='7'>プロジェクトを削除する。</td>
		<td>--force</td>
		<td>強制削除する。（削除するか確認しない。）</td>
	</tr>
	<tr>
		<td>-e, --endpoint HOST[:PORT]</td>
		<td>HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。(デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td rowspan='6'>secrets --project &lt;project-name&gt;</td>
		<td rowspan='6'>シークレットを作成する。</td>
		<td>-e, --endpoint HOST[:PORT]</td>
		<td>HTTPエンドポイントを設定する。 (デフォルト: http://127.0.0.1:65432)</td>
	</tr>
	<tr>
		<td>-L, --log PATH</td>
		<td>ログメッセージをファイルに出力する。 (デフォルト: -)</td>
	</tr>
	<tr>
		<td>-l, --log-level LEVEL</td>
		<td>ログレベルを設定する。（エラー、警告、情報、デバッグ、トレース）</td>
	</tr>
	<tr>
		<td>-X KEY=VALUE</td>
		<td>パフォーマンス システム コンフィグを追加する。</td>
	</tr>
	<tr>
		<td>-c, --config PATH.properties</td>
		<td>設定ファイルを出力する。（デフォルト：/Users/*****/.config/digdag/config）</td>
	</tr>
	<tr>
		<td>--version</td>
		<td>クライアントのバージョンを出力する。</td>
	</tr>
	<tr>
		<td>version</td>
		<td>td workflowコマンドのdigdag ClientとServerバージョンを出力する。</td>
		<td></td>
		<td></td>
	</tr>
</table>

### 例

#### td wf start
スケジュール設定されているWorkflowを実行する。（TDコンソールではスケジュールされているWorkflowを実行できない。）

```shell
% td wf start project_name workfolw_name --session now
```

#### td wf retry
Workflowセッションを全てリトライする。attempt-idを設定する。

```shell
% td wf retry 999999999 --all
```

Workflowセッションの失敗したタスクをリトライする。

```shell
% td wf retry 999999999 --resume
```

Workflowセッションの失敗したタスク(task2)から最新リヴィジョンのWorkflowでリトライする。

```shell
% td wf retry 999999999 --resume-from +task2 --latest-revision
```

#### td wf secrets

S3のAccress-keyとSecret access-keyをs3.access_key_id、s3.secret_access_keyとしてsecret登録する。

```shell
% td wf secrets --project sample_project --set s3.access_key_id
s3.access_key_id: <access_keyを入力>
% td wf secrets --project sample_project --set s3.secret_access_key
s3.secret_access_key: <secret_access_keyを入力>
```


GCPのサービスアカウントのcredential jsonファイルをgcp.serviceaccount_keyというsecret名で登録する。ファイルのsecret登録は、TDコンソールでは現状できない。

```shell
% td wf secrets --project sample_project --set gcp.serviceaccount_key=@credential.json
```

#### td wf delete
TDのsample_projectを削除する。TDコンソールではprojectの削除ができない。

```shell
% td wf delete sample_project
```

##### オプション --log, --log-levelの設定
td wf start実行で、wf.logファイルにdebugレベルのログを出力する。

```shell
% td wf start project_name workflow_name --session now -L ./wf.log -l debug
```

##### --disable-cert-validation
TDの証明書の検証を行わず、Workflowを実行する。

```shell
% td wf start project_name workflow_name --session now --disable-cert-validation
```

## td user
アカウントのユーザーに対するコマンド。（管理者用）

<table>
	<tr>
		<td>コマンド</td>
		<td>説明</td>
		<td colspan="2">オプション</td>
	</tr>
	<tr>
		<td>user:list</td>
		<td>ユーザーリストを出力する。 td usersでも可。</td>
		<td>-f, --format FORMAT</td>
		<td>出力形式を設定する。(tsv、csv、 json、table[Default])</td>
	</tr>
	<tr>
		<td>user:show</td>
		<td>ユーザー情報を出力する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td>user:create</td>
		<td>ユーザーを作成する。</td>
		<td>-e, --email EMAIL</td>
		<td>ユーザーのmailアドレスを設定(必須)</td>
	</tr>
	<tr>
		<td>user:delete</td>
		<td>ユーザーを削除する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td>user:apikey:list</td>
		<td>ユーザーのapikeyリストを出力する。<br>同一、上位権限のAPIKeyは出力できない。</td>
		<td>-f, --format FORMAT</td>
		<td>出力形式を設定する。(tsv、csv、 json、table[Default])</td>
	</tr>
	<tr>
		<td>user:apikey:add</td>
		<td>ユーザーにapikeyを追加する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td>user:apikey:remove</td>
		<td>ユーザーからapikeyを削除する。</td>
		<td></td>
		<td></td>
	</tr>
	<tr>
		<td>user:password:change</td>
		<td>ユーザーのパスワードを変更する。(管理者のみ)</td>
		<td></td>
		<td></td>
	</tr>
</table>


### 例

#### td user:show
ユーザー Ichiro Sampleの情報を出力する。

```shell
% td user:show "Ichiro Sample"
Name  : Ichiro Sample
Email : ichiro.sample@example.com
```

#### td user:create
ユーザー Jiro Sampleを作成する。

```shell
% td user:create "Jiro Sample" -e jiro.sample@example.com
Password (typing will be hidden):
Retype password:
User 'Jiro Sample' is created.
Use 'td user:apikeys Jiro Sample' to show the API key.
```



#### td user:list
ユーザーリストを出力する。

```shell
% td user:list
+-----------------------------------------+-----------------------------------------------+
| Name                                    | Email                                         |
+-----------------------------------------+-----------------------------------------------+
| a                                       | a@example.com                                 |
| b                                       | b@example.com                                 |
+-----------------------------------------+-----------------------------------------------+
2 rows in set
```

ユーザーのapikeyリストをCSV形式でファイル出力する。

```shell
% td user:list -f csv > user_list.csv
```



#### td user:apikey:list
ユーザーのapikeyリストを出力する。

```shell
% td user:apikey:list user_name
+------------------------------------------------+
| Key                                            |
+------------------------------------------------+
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX          |
| XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX          |
+------------------------------------------------+
2 rows in set
```





# 参考

https://docs.treasuredata.com/display/public/PD/TD+Toolbelt+Reference