はじめに
DWCの運用で、開発環境と本番環境に分けて運用するケースが殆どかと思います。その際、開発環境と本番環境が異なるテナントであればエクスポート/インポート機能を利用して移送する事は可能です。ただ、同一テナント内でスペースを開発と本番に分けて運用するケースもあるかと思います。その場合、エクスポート/インポート機能は利用できず(エクスポートとインポートは同一スペース名である必要があるため)、スペース間の移送をするにはテーブルやビュー毎にエクスポート(jsonファイル)し、インポートする必要があります。今回はそのjsonファイル形式での移送方法を紹介したいと思います。
移送内容
スペース内で完結しているデータフローやビューであれば、jsonファイルをエクスポートしてインポートするだけなのであまり面白くありません。今回はスペースを共有化して作成しているビューの移送方法を実践してみたいと思います。(下図参照)
実施したいことは以下です。
1.開発スペース1のテーブル1を本番スペース1へ移送
2.開発スペース2のビュー(テーブル1参照)を本番スペース2へ移送
移送手順
手順① 開発スペース1のテーブルをエクスポート(jsonファイル)し、本番スペース1へインポート
手順② 移送後、共有化設定は解除される為、本番スペース1のテーブル1を本番スペース2へ共有化
※共有化設定は以下を参考
https://qiita.com/takao_kotaniguchi/items/9a8a5676869629abf6e5
手順③ 開発スペース2のビューをエクスポート(jsonファイル)し、本番スペース2へインポート ※但し、そのままjsonファイルをインポートするとエラーとなります。
※理由はjsonファイルの参照先情報が開発スペース1を向いており、開発スペース1のテーブル1は本番スペース2へは共有化していない為です。
手順④ jsonファイルの修正し、修正したjsonファイルを本番スペース2へインポート ※き換えについては、開発スペース名に該当する部分を本番スペース名に変更する(下図は一例なので、該当する部分は書き換え必要)
以上で移送完了です。手順②で共有化している事で本番スペース1のテーブル1を参照してくれます。
おわりに
上記の方法を利用すればビューやデータフローを直接編集することなく移送できます。
また同じ要領で例えばリモートテーブルの移送も可能です。リモートテーブルの場合、jsonファイル内にリモート先の接続情報が設定されているので、開発環境の接続情報を本番環境に書き換える事で移送可能となります。
最終的に思う事はもう少し簡単に移送出来ればなぁと思います。