適用対象:
Azure Data Factory
Azure Synapse Analytics
ヒント
Data Factory in Microsoft Fabric は、よりシンプルなアーキテクチャ、組み込みの AI、および新機能を備えた次世代のAzure Data Factoryです。 データ統合を初めて使用する場合は、Fabric Data Factory から始めます。 既存の ADF ワークロードをFabricにアップグレードして、データ サイエンス、リアルタイム分析、レポートの新機能にアクセスできます。
ADF コピー アクティビティには、ストレージとストア間でバイナリ ファイルをコピーするときの "移動" シナリオに対するサポートが組み込まれています。 これを有効にするには、コピー アクティビティで "deleteFilesAfterCompletion" を true に設定します。 そうすることで、ジョブの完了後に、コピー アクティビティによってデータ ソース ストアからファイルが削除されます。
この記事では、ADF の柔軟な制御フローとコピー アクティビティおよび削除アクティビティを利用して同じシナリオを実現するもう 1 つの方法として、ソリューション テンプレートについて説明します。 このテンプレートを使用する一般的なシナリオの 1 つ: ファイルは、ソース ストアのランディング フォルダーに継続的にドロップされます。 スケジュール トリガーを作成することにより、ADF パイプラインでこれらのファイルをソースから移動先ストアに定期的に移動できます。 ADF パイプラインで "ファイルの移動" を実現する方法では、ランディング フォルダーからファイルを取得し、各ファイルを移動先ストアの別のフォルダーにコピーした後、ソース ストアのランディング フォルダーから同じファイルを削除します。
注意
このテンプレートは、フォルダーを移動するのではなく、ファイルを移動するように設計されていることに注意してください。 フォルダー パスのみを含むようにデータセットを変更してから、コピー アクティビティと削除アクティビティを使用して、フォルダーを表す同じデータセットを参照することにより、フォルダーを移動する場合は、十分注意する必要があります。 その理由は、コピー操作と削除操作の間にそのフォルダーに新しいファイルが到着しないようにする必要があるからです。 Copy アクティビティがコピー ジョブを完了したが、Delete アクティビティがまだ開始されていないときにフォルダーに新しいファイルが到着すると、Delete アクティビティがフォルダー全体を削除することにより、まだ宛先にコピーされていない新しく到着したファイルを削除する可能性があります。
このソリューション テンプレートについて
このテンプレートでは、ソースのファイル ベースのストアからファイルが取得されます。 次に、それらをそれぞれ移動先ストアに移動します。
このテンプレートには、5 つのアクティビティが含まれています。
- Getmetadata では、ソース ストアのフォルダーからファイルとサブフォルダーを含むオブジェクトのリストが取得されます。 オブジェクトは再帰的には取得されません。
- Filter では、GetMetadata アクティビティからのオブジェクト リストがフィルター処理されて、ファイルのみが選択されます。
- ForEach は、Filter アクティビティからファイル リストを取得し、一覧を反復処理して、各ファイルを Copy アクティビティ および Delete アクティビティに渡します。
- Copy では、ソース ストアからコピー先ストアに 1 つのファイルがコピーされます。
- Delete では、同じ 1 つのファイルがソース ストアから削除されます。
このテンプレートには、4 つのパラメーターが定義されています。
- SourceStore_Location は、ファイルの移動元となるソース ストアのフォルダー パスです。
- SourceStore_Directory は、ファイルの移動元となるソース ストアのサブフォルダー パスです。
- DestinationStore_Location は、ファイルの移動先となる移動先ストアのフォルダー パスです。
- DestinationStore_Directory は、ファイルの移動先となる移動先ストアのサブフォルダー パスです。
このソリューション テンプレートの使用方法
ファイルの移動テンプレートに移動します。 ファイル移動元のソース ファイル ストアに対する既存の接続を選択するか、新しい接続を作成します。 DataSource_Folder と DataSource_File では、ソース ファイル ストアの同じ接続が参照されていることに注意してください。
ファイル移動先の移動先ファイル ストアに対する既存の接続を選択するか、新しい接続を作成します。
[このテンプレートを使用] タブを選択します。
次の例に示すように、パイプラインが表示されます。
[デバッグ] を選択し、 [パラメーター] で入力し、 [完了] を選択します。 パラメーターは、ファイル移動元のフォルダー パスと、ファイル移動先のフォルダー パスです。
結果を確認します。