LoginSignup
8
11

More than 1 year has passed since last update.

TD Toolbelt リファレンス(非公式)

Last updated at Posted at 2021-06-17

はじめに

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を出力する。

% td -h

td -k -e

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

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

td account

コマンド 説明 オプション
account アカウントを設定する。 -f, --force 現在のアカウント設定を上書きする。

td account

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

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

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

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を出力する。

% td apikey

Google SSOを使用している場合のtdコマンド設定についてのリンク

td server

コマンド 説明
server serverのステータスを出力する。

td help

コマンド 説明
help helpを出力する。

td db

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

td db:create

TDのデータベースを作成する。

% td db:create database

td db:delete

TDのデータベースをテーブル含めて削除する。

% td db:delete database -f

td export

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

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

export:result

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

% 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を設定する。

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

table:import

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

% 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形式でファイルをエクスポートする。

% 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の使用を推奨。

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

例 td bulk_importの流れ

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

td bulk_import:create

バルクインポートのセッションを作成する。

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

td bulk_import:prepare_parts

対象のファイルをmsgpack形式に変換する。

% 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にアップロードする。

% 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

バルクインポートを実行する。

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

bulk_import:commit

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

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

td import

TDはもうサポートしていないらしい(アップデートはない)。Embulkの使用を推奨。

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

例 td importの流れ

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

td import:create

インポートのセッションを作成する。

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

td import:prepare

対象データをmsgpack形式に変換する。

% 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にアップロードする。

% 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

インポートを実行する。

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

td import:commit

インポートデータをテーブルにコミットする。

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

td import:config

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

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)を作成する。

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

td result:create

Authentication(Destination)を作成する。

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

td status (td s)

コマンド 説明 オプション
status スケジュール状況、ジョブの状況、テーブル、Resultの状況を出力する。

td schema

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

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

td schema:set

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

td sched

Saved Queryのコマンド。

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

td sched:create

毎時0分にスケジュールでクエリ実行するS3バケットへエクスポートの設定。presto設定、優先度0、ディレイ0秒、リトライ1回

% 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の結果を出力する。

% 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

クエリのコマンド。

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

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

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

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

% 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

ジョブのコマンド。

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

td job:list

Jobの最新のみ出力する。

% td job:list 1

td job:show

Jobの詳細ログを出力する。

% td job:show 999999999 -v 

td password

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

コマンド 説明 オプション
password:change (自分の)パスワードを変更する。

% td password:change

td apikey

自分のapikeyのコマンド。

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

td apikey:show

自分のapikeyを出力する。

% td apikey:show

td server

TDのサーバのコマンド。

コマンド 説明 オプション
server:status Treasure Dataのステータスを出力する。
server:endpoint <api_endpoint> Treasure DataのAPI Serverのエンドポイントを設定する。

td server:endpoint

Treasure DataのAPI Serverのエンドポイントを設定する。エンドポイントの情報はSites and Endpointsを参照。
ここではUSリージョンのエンドポイントを設定する例とする。リンク先の情報には記載がないが、"https://"を記述する必要がある。(記述しない場合はエラーとなる。)

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

td sample

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

コマンド 説明 オプション
sample:apache <path.json> apacheログのサンプルを出力する。

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

% td sample:apache sample.json

td connector

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

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

td connector:create

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

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

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

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

td connector:issue

Sourceを実行する。

% td connector:issue load.yml

td connector:run

connector1を今すぐ実行する。

% td connector:run connector1

Config Diffの変更手順 (S3 connectorの場合)

Config Diffを確認する。

% 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の中身はこんな感じ。

in:
  last_path: folder/sample20210709.csv

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

% 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の実行を試せる。

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

Server-mode commands

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

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

Client-mode commands:

コマンド 説明 オプション
push <project-name> 新しいリビジョンを作成してプロジェクトをアップロードする。 --project DIR このディレクトリをプロジェクトのディレクトリとして使用する。(デフォルト:カレントディレクトリ)
-r, --revision 自動生成されたUUIDの代わりに、特定のリビジョン名を設定する。
-schedule-from "yyyy-MM-dd HH:mm:ss Z" 現在の時刻ではなく、この時刻からスケジュールを開始する。
--copy-outgoing-symlinks シンボリックリンクを通常のファイルやディレクトリに変換する。
-e, --endpoint HOST[:PORT] HTTPエンドポイントを設定する。 (デフォルト: http://127.0.0.1:65432)
-L, --log PATH ログメッセージをファイルに出力する。 (デフォルト: -)
-l, --log-level LEVEL ログレベルを設定する。(エラー、警告、情報、デバッグ、トレース)
-X KEY=VALUE パフォーマンス システム コンフィグを追加する。
-c, --config PATH.properties 設定ファイルを出力する。(デフォルト:/Users/*****/.config/digdag/config)
--version クライアントのバージョンを出力する。
download <project-name> アップロードされているリビジョンのワークフローをプルする。 -r, --revision 最新のリビジョンではなく、特定のリビジョン名を抽出する。
-o, --output DIR この出力ディレクトリにファイルを抽出する。
-e, --endpoint HOST[:PORT] HTTPエンドポイントを設定する。 (デフォルト: http://127.0.0.1:65432)
-L, --log PATH ログメッセージをファイルに出力する。 (デフォルト: -)
-l, --log-level LEVEL ログレベルを設定する。(エラー、警告、情報、デバッグ、トレース)
-X KEY=VALUE パフォーマンス システム コンフィグを追加する。
-c, --config PATH.properties 設定ファイルを出力する。(デフォルト:/Users/*****/.config/digdag/config)
--version クライアントのバージョンを出力する。
start <project-name> <workflow_name> ワークフローの新しいセッションを開始する。 -session <hourly | daily | now | yyyy-MM-dd | "yyyy-MM-dd HH:mm:ss"> session_timeをこの時間に設定する。(必須)
--revision <name> 過去のリビジョンを使用する。
--retry NAME 新しいセッションへの再試行の名前を設定する。
-d, --dry-run セッションの試行をドライランする。
-p, --param KEY=VALUE セッションパラメータを追加する。(複数回使用して多くのパラメータを設定する。)
-P, --params-file PATH.yml YAMLファイルからセッションパラメータを読み込む。
-e, --endpoint HOST[:PORT] HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)
-L, --log PATH ログメッセージをファイルに出力する。(デフォルト: -)
-l, --log-level LEVEL ログレベルを設定する。(エラー、警告、情報、デバッグ、トレース)
-X KEY=VALUE パフォーマンス システム コンフィグを追加する。
-c, --config PATH.properties 設定ファイルを出力する。(デフォルト:/Users/*****/.config/digdag/config)
--version クライアントのバージョンを出力する。
retry <attempt-id> セッションをリトライする。 --name <name> 自動生成されたUUIDの代わりに、この再試行のユニークな識別子を使用する。
--latest-revision 最新のリビジョンを使用する。
--keep-revision 同じリビジョンを使用する。
--revision <name> 特定のリビジョンを使用する。
--all すべてのタスクを再試行する。
--resume 失敗したタスクだけを再試行する。
--resume-from <+name> 特定のタスクから再試行する。
kill <attempt-id> セッションをkillする。 -e, --endpoint HOST[:PORT] HTTPエンドポイントを設定する。 (デフォルト: http://127.0.0.1:65432)
-L, --log PATH ログメッセージをファイルに出力する。 (デフォルト: -)
-l, --log-level LEVEL ログレベルを設定する。(エラー、警告、情報、デバッグ、トレース)
-X KEY=VALUE パフォーマンス システム コンフィグを追加する。
-c, --config PATH.properties 設定ファイルを出力する。(デフォルト:/Users/*****/.config/digdag/config)
--version クライアントのバージョンを出力する。
backfill <schedule-id>

backfill <project-name> <workflow_name>
スケジュールの過去のセッションを実行する。

Workflowのセッションを開始する。
-f, --from 'yyyy-MM-dd[ HH:mm:ss]' バックフィルを開始する。タイムスタンプ必須。
--name NAME 再試行の名前を設定する。
-d, --dry-run セッションの試行をドライランする。
--count N スケジュール時刻から実行するセッションの数を設定する。 (デフォルト: 次のスケジュール時刻までの全セッション)
-e, --endpoint HOST[:PORT] HTTPエンドポイントを設定する。 (デフォルト: http://127.0.0.1:65432)
-L, --log PATH ログメッセージをファイルに出力する。 (デフォルト: -)
-l, --log-level LEVEL ログレベルを設定する。(エラー、警告、情報、デバッグ、トレース)
-X KEY=VALUE パフォーマンス システム コンフィグを追加する。
-c, --config PATH.properties 設定ファイルを出力する。(デフォルト:/Users/*****/.config/digdag/config)
--version クライアントのバージョンを出力する。
reschedule <schedule-id>

reschedule <project-name> <workflow_name>
>スケジュールセッションを次のスケジュールにスキップする。

スケジュールセッションを次のスケジュールにスキップする。
-s, --skip N 今から設定された数のスケジュールをスキップする。
-t, --skip-to 'yyyy-MM-dd HH:mm:ss Z' | 'now' 設定された時刻までのスケジュールをスキップする。
-a, --run-at 'yyyy-MM-dd HH:mm:ss Z' 次の実行時間をこの時間に設定する。
-d, --dry-run 再スケジュールをドライランする。
-e, --endpoint HOST[:PORT] HTTPエンドポイントを設定する。 (デフォルト: http://127.0.0.1:65432)
-L, --log PATH ログメッセージをファイルに出力する。 (デフォルト: -)
-l, --log-level LEVEL ログレベルを設定する。(エラー、警告、情報、デバッグ、トレース)
-X KEY=VALUE パフォーマンス システム コンフィグを追加する。
-c, --config PATH.properties 設定ファイルを出力する。(デフォルト:/Users/*****/.config/digdag/config)
--version クライアントのバージョンを出力する。
log <attempt-id> attemptのログを出力する。 -v, --verbose デバッグログを出力する。
-f, --follow atrtemptやタスクが終了するまで新しいログを出力する。
-e, --endpoint HOST[:PORT] HTTPエンドポイントを設定する。 (デフォルト: http://127.0.0.1:65432)
-L, --log PATH ログメッセージをファイルに出力する。 (デフォルト: -)
-l, --log-level LEVEL ログレベルを設定する。(エラー、警告、情報、デバッグ、トレース)
-X KEY=VALUE パフォーマンス システム コンフィグを追加する。
-c, --config PATH.properties 設定ファイルを出力する。(デフォルト:/Users/*****/.config/digdag/config)
--version クライアントのバージョンを出力する。
projects [name] プロジェクトの"name","id","revision","archive type","project created at","revision updated at"を出力する。 -e, --endpoint HOST[:PORT] HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)
-L, --log PATH ログメッセージをファイルに出力する。(デフォルト: -)
-l, --log-level LEVEL ログレベルを設定する。(エラー、警告、情報、デバッグ、トレース)
-X KEY=VALUE パフォーマンス システム コンフィグを追加する。
-c, --config PATH.properties 設定ファイルを出力する。(デフォルト:/Users/*****/.config/digdag/config)
--version クライアントのバージョンを出力する。
workflows [project-name] [workflow_name] Workflowのdigファイルの内容を出力する。 -e, --endpoint HOST[:PORT] HTTPエンドポイントを設定する。 (デフォルト: http://127.0.0.1:65432)
-L, --log PATH ログメッセージをファイルに出力する。(デフォルト: -)
-l, --log-level LEVEL ログレベルを設定する。(エラー、警告、情報、デバッグ、トレース)
-X KEY=VALUE パフォーマンス システム コンフィグを追加する。
-c, --config PATH.properties 設定ファイルを出力する。(デフォルト:/Users/*****/.config/digdag/config)
--version クライアントのバージョンを出力する。
schedules スケジュールされているWorkflowを出力する。 -e, --endpoint HOST[:PORT] HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)
-L, --log PATH ログメッセージをファイルに出力する。(デフォルト: -)
-l, --log-level LEVEL ログレベルを設定する。(エラー、警告、情報、デバッグ、トレース)
-X KEY=VALUE パフォーマンス システム コンフィグを追加する。
-c, --config PATH.properties 設定ファイルを出力する。(デフォルト:/Users/*****/.config/digdag/config)
--version クライアントのバージョンを出力する。
disable <schedule-id>

disable <project-name>

disable <project-name> <workflow_name>
設定したスケジュールIDを無効にする。

プロジェクトの全てのWorkflowのスケジュールを無効にする。

設定したWorkflowのスケジュールを無効にする。
-e, --endpoint HOST[:PORT] HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)
-L, --log PATH ログメッセージをファイルに出力する。(デフォルト: -)
-l, --log-level LEVEL ログレベルを設定する。(エラー、警告、情報、デバッグ、トレース)
-X KEY=VALUE パフォーマンス システム コンフィグを追加する。
-c, --config PATH.properties 設定ファイルを出力する。(デフォルト:/Users/*****/.config/digdag/config)
--version クライアントのバージョンを出力する。
enable <schedule-id>

enable <project-name>

enable <project-name> <workflow_name>
設定したスケジュールIDを有効にする。

プロジェクトの全てのWorkflowのスケジュールを有効にする。

設定したWorkflowのスケジュールを有効にする。
-e, --endpoint HOST[:PORT] HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)
-L, --log PATH ログメッセージをファイルに出力する。(デフォルト: -)
-l, --log-level LEVEL ログレベルを設定する。(エラー、警告、情報、デバッグ、トレース)
-X KEY=VALUE パフォーマンス システム コンフィグを追加する。
-c, --config PATH.properties 設定ファイルを出力する。(デフォルト:/Users/*****/.config/digdag/config)
--version クライアントのバージョンを出力する。
sessions

sessions <project-name>

sessions <project-name> <workflow_name>
Workflowのセッション情報を出力する。

プロジェクト内のすべてのWorkflowのセッション情報を出力する。

設定したWorkflowのセッション情報を出力する。
-i, --last-id ID このIDよりも古いセッションを出力する。
-s, --page-size ページサイズの数(デフォルトでは100まで)のセッションを出力する。
-e, --endpoint HOST[:PORT] HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)
-L, --log PATH ログメッセージをファイルに出力する。(デフォルト: -)
-l, --log-level LEVEL ログレベルを設定する。(エラー、警告、情報、デバッグ、トレース)
-X KEY=VALUE パフォーマンス システム コンフィグを追加する。
-c, --config PATH.properties 設定ファイルを出力する。(デフォルト:/Users/*****/.config/digdag/config)
--version クライアントのバージョンを出力する。
session <session-id> 設定したセッション情報を出力する。 -i, --last-id ID このIDよりも古いセッションを出力する。
-s, --page-size ページサイズの数(デフォルトでは100まで)のセッションを出力する。
-e, --endpoint HOST[:PORT] HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)
-L, --log PATH ログメッセージをファイルに出力する。(デフォルト: -)
-l, --log-level LEVEL ログレベルを設定する。(エラー、警告、情報、デバッグ、トレース)
-X KEY=VALUE パフォーマンス システム コンフィグを追加する。
-c, --config PATH.properties 設定ファイルを出力する。(デフォルト:/Users/*****/.config/digdag/config)
--version クライアントのバージョンを出力する。
attempts

attempts <session-id>
全セッションのattempt情報を出力する。

設定したセッションのattempt情報を出力する。
-i, --last-id ID このIDからのセッション試行回数を出力する。
-s, --page-size このページサイズの数(デフォルトでは100まで)のセッションの試行回数を出力する。
-e, --endpoint HOST[:PORT] HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)
-L, --log PATH ログメッセージをファイルに出力する。(デフォルト: -)
-l, --log-level LEVEL ログレベルを設定する。(エラー、警告、情報、デバッグ、トレース)
-X KEY=VALUE パフォーマンス システム コンフィグを追加する。
-c, --config PATH.properties 設定ファイルを出力する。(デフォルト:/Users/*****/.config/digdag/config)
--version クライアントのバージョンを出力する。
attempt <attempt-id> 設定したattempt情報を出力する。 -e, --endpoint HOST[:PORT] HTTPエンドポイントを設定する。 (デフォルト: http://127.0.0.1:65432)
-L, --log PATH ログメッセージをファイルに出力する。(デフォルト: -)
-l, --log-level LEVEL ログレベルを設定する。(エラー、警告、情報、デバッグ、トレース)
-X KEY=VALUE パフォーマンス システム コンフィグを追加する。
-c, --config PATH.properties 設定ファイルを出力する。(デフォルト:/Users/*****/.config/digdag/config)
--version クライアントのバージョンを出力する。
tasks <attempt-id> attemptのタスク情報を出力する。 -e, --endpoint HOST[:PORT] HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)
-L, --log PATH ログメッセージをファイルに出力する。(デフォルト: -)
-l, --log-level LEVEL ログレベルを設定する。(エラー、警告、情報、デバッグ、トレース)
-X KEY=VALUE パフォーマンス システム コンフィグを追加する。
-c, --config PATH.properties 設定ファイルを出力する。(デフォルト:/Users/*****/.config/digdag/config)
--version クライアントのバージョンを出力する。
delete <project-name> プロジェクトを削除する。 --force 強制削除する。(削除するか確認しない。)
-e, --endpoint HOST[:PORT] HTTPエンドポイントを設定する。(デフォルト: http://127.0.0.1:65432)
-L, --log PATH ログメッセージをファイルに出力する。(デフォルト: -)
-l, --log-level LEVEL ログレベルを設定する。(エラー、警告、情報、デバッグ、トレース)
-X KEY=VALUE パフォーマンス システム コンフィグを追加する。
-c, --config PATH.properties 設定ファイルを出力する。(デフォルト:/Users/*****/.config/digdag/config)
--version クライアントのバージョンを出力する。
secrets --project <project-name> シークレットを作成する。 -e, --endpoint HOST[:PORT] HTTPエンドポイントを設定する。 (デフォルト: http://127.0.0.1:65432)
-L, --log PATH ログメッセージをファイルに出力する。 (デフォルト: -)
-l, --log-level LEVEL ログレベルを設定する。(エラー、警告、情報、デバッグ、トレース)
-X KEY=VALUE パフォーマンス システム コンフィグを追加する。
-c, --config PATH.properties 設定ファイルを出力する。(デフォルト:/Users/*****/.config/digdag/config)
--version クライアントのバージョンを出力する。
version td workflowコマンドのdigdag ClientとServerバージョンを出力する。

td wf start

スケジュール設定されているWorkflowを実行する。(TDコンソールではスケジュールされているWorkflowを実行できない。)

% td wf start project_name workfolw_name --session now

td wf retry

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

% td wf retry 999999999 --all

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

% td wf retry 999999999 --resume

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

% 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登録する。

% 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コンソールでは現状できない。

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

td wf delete

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

% td wf delete sample_project
オプション --log, --log-levelの設定

td wf start実行で、wf.logファイルにdebugレベルのログを出力する。

% td wf start project_name workflow_name --session now -L ./wf.log -l debug
--disable-cert-validation

TDの証明書の検証を行わず、Workflowを実行する。

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

td user

アカウントのユーザーに対するコマンド。(管理者用)

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

td user:show

ユーザー Ichiro Sampleの情報を出力する。

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

td user:create

ユーザー Jiro Sampleを作成する。

% 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

ユーザーリストを出力する。

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

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

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

td user:apikey:list

ユーザーのapikeyリストを出力する。

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

参考

8
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
11