前回に引き続き、Azure Data Factoryのお話。以前はJSONで色々と定義する必要があったようですが、いまはお手軽な対話式のウィザードが公開されてます。
それをつかって、SQL Server → SQL DBをやってみたメモです。今回は同一スキーマの同一名テーブル間だでのコピーです。
SQL ServerはVMを使ってAzure上に立てましたが、オンプレにあっても同じでしょう。
とくにチュートリアル以上のことを解説しているわけではないのであしからず。
ウィザード開始
Data Factoryのアクション画面に、データコピーのタイルがあるので、それをクリック。
Pipeline
Pipelineの定義から始まります。いくつか設定項目がありますが、
- 1回だけか、スケジュール実行か
- スケジュールなら期間と、実行頻度
など設定します。最小実行頻度は、15分毎だったと思います。
ソース
ソースを選択します。ここでは、SQL Serverを指定。
コネクション
コネクションですが、Data FactoryでいうところのLinkedServiceの情報を設定します。したがって、
- ゲートウェイ
- 接続先
- ユーザー、パスワード
- 認証方法
などが設定されます。ゲートウェイはあらかじめVMにインストールして設定しておく必要があります。便利なのがちゃんと接続テストしてくれるので楽チンです。
データセット
ソースのテーブル一覧とかが出てくれます。これらを選択していくとDatasetの定義がおわります。JSONいらずで楽です。
デストネーション
Data Factoryでは、Sinkとかいいますが、コピー先です。ここでは、SQL Azureこと、SQL Databaseを選択です。
コネクション
自分のサブスクリプションから情報を引っ張ってきてくれるので、
- サーバー名
- DB名
- ユーザー、パスワード
等を設定すると接続チェックしてくれます。
データセット
テーブルのマッピングを定義します。
スーキーマのマッピングを定義します。
あとはウィザードにしたがっていけばOKです。ほんとJSON触らなくて良いのは楽チンです。
ダイアグラム
最終的に以下のようなダイアグラムが確認でき、データがコピーされていればOKです。
まとめ
意外とキチントした作りでした。ちゃんとしたオーサリングツール然としてる印象です。ウィザード形式ですすめれば、接続情報や、マッピングなので、間違いが入り込む余地がすくないし、おてがるにやるには、これはオススメです。
プロダクションでやるには、色々込み入った事情もアルでしょうから、けっきょくJSONになりそうな気がしなくはないです。
単純コピーだとまいかい全コピーなのか、差分なのかとか色々疑問がわきますが、それらはまた別途。