はじめに
Azure Data Factory を利用するユーザーにとって、頻繁に使用されるコピーアクティビティ。今回、差分更新を一括で実施する必要が生じたため、その方法を調べました。本稿では、その結果を備忘録としてまとめています。
内容
※注意:コピーアクティビティの基本的な追加手順については割愛しています。
差分更新の設定方法
Azure Data Factory のコピーアクティビティには、直接的な差分更新の設定項目はありません。そのため、動的コンテンツを利用して式を記述する必要があります。
設定手順
コピーアクティビティの「最終変更日時でフィルター」という項目に、以下のような式を記載します。これにより、差分更新を行うことが可能になります。
今回は、デイリーバッチ処理を想定として以下の式を使用しました。
@formatDateTime(addDays(pipeline().TriggerTime, -1), 'yyyy-MM-ddTHH:mm:ss')
他のバッチ処理時間に応じた設定例
マイクロソフト公式ドキュメントには、動的コンテンツの例が紹介されています。以下の表を参考に、任意のバッチ処理時間を設定することができます。
繰り返し | 動的コンテンツ |
---|---|
分単位 | @formatDateTime(addMinutes(pipeline().TriggerTime, -<your set repeat minute>), 'yyyy-MM-dd HH:mm:ss') |
1 時間ごと | @formatDateTime(addHours(pipeline().TriggerTime, -<your set repeat hour>), 'yyyy-MM-ddTHH:mm:ss') |
毎日 | @formatDateTime(addDays(pipeline().TriggerTime, -1), 'yyyy-MM-ddTHH:mm:ss') |
週単位 | @formatDateTime(addDays(pipeline().TriggerTime, -7), 'yyyy-MM-ddTHH:mm:ss') |
これらの例を参考にすることで、任意のバッチ時間に応じた差分更新処理が可能になります。
まとめ
Azure Data Factory を使用することで、差分更新を活用した効率的で自動化されたデータ転送が可能になります。適切な差分検出ロジックを設計し、コピーアクティビティと動的コンテンツを組み合わせることで、安定した運用が期待できます。また、作業負荷の軽減や運用コストの最適化にもつながるため、ぜひ活用してみてください。
参考文献