こんにちは。Treasure Data サポートの小嶋です。
今回はしばしば質問を頂戴するTreasure Workflowのファイル名変更について説明します。
ワークフロー名を変更したい
ワークフローを作成した後、画面からLaunch Project Editor
をクリックすることで内容の確認や編集を行うことができます。
場合によってはワークフローを名称変更したいということもあるかもしれません。
ただし現在(2022年5月)、残念ながら開いたワークフローの名前は変更できないため、少々遠回りをする必要があります。
ワークフローとプロジェクト
手順に入る前に、ワークフローとプロジェクトの概念だけおさらいしておきます。
(詳細は弊社藤井執筆のこちらの記事に譲ります。)
ワークフローはプロジェクトと呼ばれる1つのまとまりに紐づいており、プロジェクトには複数のワークフローやSQLクエリファイル等が存在できます。
各ワークフローは.digという拡張子のファイルで定義され、digファイルとも呼ばれます。
先述の通り、digファイルを開くと他のプロジェクトファイルの名前は変更できますが、開いたファイルの名前を変更できないというUI上の制限があります。
それを回避して変更するというのが今回の主旨です。
ワークフロー名を変更する方法(コンソールから)
コンソール画面で名前を変更することは可能ですが、プロジェクト内にワークフローが複数ある場合とそうでない場合で対応が分かれます。
ワークフローが複数存在する場合
例えばrenameプロジェクト内に、rename.digとsub.digが存在し、rename.digの名前を変更したいとします。
この場合、sub.digを選択した状態でLaunch Project Editor
をクリック、Edit Files
からrename.digを選択することで修正ができます。
rename.digを直接開いてしまうと変更ができないのですが、sub.digを開いてからrename.digを選択することで変更が可能になるというわけです。
ワークフローが複数存在しない場合
renameプロジェクト内にrename.digのみが存在し、その名前を変更したい場合です。
この場合はダミーのワークフローを作成するという手段をとります。
まずはrename.digをLaunch Project Editor
から開きます。
次に、Edit Files
をクリックし、新規ファイル作成ボタンからダミーのdigファイルを作成します。
サンプルはdummy.digとしました。処理は空で構いませんが、中身がないと保存できないので_export:
だけ記述しています。
保存後一旦モーダルを閉じ、作成したdummy.digを選択した状態で改めてLaunch Project Editor
をクリックします。
Edit Files
をクリックした後、rename.digを選択すると、名前が変更できるようになっているので任意のものに変更して保存してください。
変更後、dummy.digは削除して問題ありません。
ワークフロー名を変更する方法(TD Toolbeltから)
TD Toolbelt(Treasure Dataのコマンドラインツール)を用いて変更することもできます。
Toolbeltの導入については同じくサポートチームの大村がこちらで説明していますので併せてご参照ください。
Toolbeltの導入が完了したら、下記のコマンドでローカルにプロジェクトフォルダをダウンロードします。
$ td wf download <プロジェクト名>
ローカルでワークフロー(.digファイル)の名前を変更したら、フォルダ内から下記のコマンドを実行します。
ワークフローがTreasure Dataにプッシュされ、変更が反映されます。
$ td wf push <プロジェクト名>
参考情報:
Treasure Workflow Quick Start using TD Toolbelt in a CLI
注意点
これらの方法は、正確にはワークフローを別のものとして保存しています。
ワークフローは名前を識別子としているため、その変更が行われると変更前とは異なるものと認識されるためです。
こういった背景から、名前の変更が行われると、実行履歴(Run History)が消去されてしまいます。
履歴を残したまま変更を行うことはできず、そういったご要望がある場合は再作成をお願いしています。