CData SyncのCSVコネクタで同期先にサブフォルダを作成可能に!

by 杉本雄太 | 2024年06月07日

こんにちは、プロダクトチームの杉本です。

先日リリースされたCData Sync v24 にて、同期先でCSVを指定した際にサブフォルダを作成して、その中にCSVを連携出来るようになりました。これまではファイルの種類ごとのフォルダを分けたい場合は、複数の接続設定を行う必要がありましたが、この機能によるルートフォルダの接続設定を作成するだけで実現可能になります。

設定方法

接続(同期先 : CSV)の作成

「接続を追加」をクリックします。

同期先タブを選択して、検索ボックスより「CSV」と入力して、「CSV」コネクタを選択します。

「接続名」、「Destination Folder(同期先フォルダ)」を入力します。

ここが重要なのですが、高度な設定タブに移動して、「Other」プロパティに「IsDestination=True」と入力します。この設定を行うことで同期先にサブフォルダを作成出来るようになります。

これで接続設定の入力が完了したので、保存します。

ジョブを作成

「ジョブを追加」をクリックします。

同期先に先ほど作成したCSVを選択して、データソースには別途作成していたKitnoneを選択します。

ジョブの追加が完了したら、「タスクを追加」をクリックします。

連携するテーブルを選択します。ここではKintoneのCustomersテーブルを選択します。

作成されたCustomersテーブルの連携タスクをクリックします。

「クエリ」タブに移動します。

デフォルトで設定されているクエリを修正します。画面右の赤枠で囲ってあるボタンから編集可能です。

クエリを「REPLICATE [subfolder/Customers] select * from [Customers]」修正します。ポイントとしてはREPLICATE先を指定する際、「サブフォルダ/テーブル名」の形式にすることです。このように設定することで同期先にサブフォルダが作成され、そのサブフォルダの中にCustomers.csvが格納されます。

以上で設定は完了です。

動作確認

それでは実際にジョブを実行する前に同期先のフォルダを確認します。こちらは実行前のフォルダです。同期先にSyncTestのフォルダを指定しており、その中にはサブフォルダはありません。

Syncに戻って、画面右側の実行ボタンをクリックして、タスクを実行します。

ジョブの実行

タスクの実行が成功したことを確認します。

実行が完了すると、SyncTestの中にカスタムクエリで指定したサブフォルダ作成されます。

そしてその中に「Customers.csv」作成されます。

実行日毎にサブフォルダーを作成する場合

今回の新機能の利用ケースとして、実行日毎にサブフォルダーを作成したいといったことがあるかと思います。こちらについても環境変数と合わせて利用することで実現可能ですので、ご案内したいと思います!

イベントのPre-Jobイベントより環境変数の設定を行います。画像赤枠よりPre-Jobイベントを編集します。

以下のコードを追記します。

<api:set attr="out.env:thisdate" value="[x|now|todate('yyyyMMdd')]" />
<api:push item="out"/>

次にカスタムクエリ内でサブファルダ部分を上記で設定した環境変数を利用するようにします。具体的には以下のようにクエリを修正します。

REPLICATE [{env:thisdate}/Customers] select * from [Customers]

設定を保存してタスクを実行すると、実行日でサブフォルダーが作成されることが確認出来ます!

おわりに

いかがでしたでしょうか。機能としては小粒ではありますが、痒い所に手が届く機能ではないかと思います。


CData Sync は30 日間の無償トライアル利用が可能、かつトライアル中からテクニカルサポートチームに日本語で問合せを行うことができますので、ぜひこの新機能をお試しください!


https://www.cdata.com/jp/syn

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。