適用対象: Azure Data Factory
Azure Synapse Analytics
ヒント
企業向けのオールインワン分析ソリューション、Microsoft Fabric の Data Factory をお試しください。 Microsoft Fabric は、データ移動からデータ サイエンス、リアルタイム分析、ビジネス インテリジェンス、レポートまで、あらゆるものをカバーしています。 無料で新しい試用版を開始する方法について説明します。
このチュートリアルでは、Azure Data Factory ユーザー インターフェイス (UI) を使用してデータ ファクトリを作成します。 このデータ ファクトリのパイプラインでは、Azure Blob Storage から Azure SQL Database のデータベースにデータをコピーします。 このチュートリアルの構成パターンは、ファイルベースのデータ ストアからリレーショナル データ ストアへのコピーに適用されます。 ソースおよびシンクとしてサポートされているデータ ストアの一覧については、サポートされているデータ ストアに関する表を参照してください。
注
Data Factory を初めて使用する場合は、「Azure Data Factory の概要」を参照してください。
このチュートリアルでは、以下の手順を実行します。
- データ ファクトリを作成します。
- コピー アクティビティを含むパイプラインを作成します。
- パイプラインをテスト実行します。
- パイプラインを手動でトリガーします。
- スケジュールに従ってパイプラインをトリガーします。
- パイプラインとアクティビティの実行を監視します。
- スケジュールされたトリガーを無効または削除します。
前提条件
- Azure サブスクリプション。 Azure サブスクリプションをお持ちでない場合は、開始する前に無料の Azure アカウントを作成してください。
- Azure ストレージ アカウント。 Blob Storage を "ソース" データ ストアとして使用します。 ストレージ アカウントがない場合の作成手順については、Azure のストレージ アカウントの作成に関するページを参照してください。
- Azure SQL データベース。 データベースを "シンク" データ ストアとして使用します。 Azure SQL Database のデータベースがない場合の作成手順については、Azure SQL Database のデータベースの作成に関するページを参照してください。
BLOB と SQL テーブルを作成する
ここからは、次の手順を実行して、チュートリアルで使用する Blob Storage と SQL データベースを準備します。
ソース BLOB を作成する
メモ帳を起動します。 次のテキストをコピーし、 emp.txt ファイルとして保存します。
FirstName,LastName John,Doe Jane,Doe
そのファイルを input という名前のフォルダーに移動します。
Blob Storage に adftutorial という名前のコンテナーを作成します。 emp.txt ファイルを含む入力フォルダーをこのコンテナーにアップロードします。 これらのタスクは、Azure portal または Azure Storage Explorer などのツールを使用して実行できます。
シンク SQL テーブルを作成する
次の SQL スクリプトを使用して、dbo.emp テーブルをデータベースに作成します。
CREATE TABLE dbo.emp ( ID int IDENTITY(1,1) NOT NULL, FirstName varchar(50), LastName varchar(50) ) GO CREATE CLUSTERED INDEX IX_emp_ID ON dbo.emp (ID);
Azure サービスに SQL Server へのアクセスを許可します。 Data Factory から SQL Server にデータを書き込むことができるように、SQL Server で [Azure サービスへのアクセスを許可] がオンになっていることを確認します。 この設定を確認して有効にするには、Azure portal で SQL Server に移動し、セキュリティ>Networking を選択>選択したネットワークを有効にします>[例外] で [Azure サービスとリソースにこのサーバーへのアクセスを許可する] をオンにします。
Data Factory の作成
この手順では、データ ファクトリを作成するほか、Data Factory UI を起動してそのデータ ファクトリにパイプラインを作成します。
Microsoft Edge または Google Chrome を開きます。 現在、Data Factory の UI がサポートされる Web ブラウザーは Microsoft Edge と Google Chrome だけです。
左側のメニューで、 [リソースの作成]>[分析]>[Data Factory] の順に選択します。
[Create Data Factory]\(データ ファクトリの作成\) ページの [基本] タブで、データ ファクトリを作成する Azure サブスクリプションを選択します。
[リソース グループ] で、次の手順のいずれかを行います。
ある。 ドロップダウン リストから既存のリソース グループを選択します。
b。 [新規作成] を選択し、新しいリソース グループの名前を入力します。
リソース グループの詳細については、リソース グループを使用した Azure のリソースの管理に関するページを参照してください。
[リージョン] で、データ ファクトリの場所を選択します。 データ ストアは、必要に応じて、データ ファクトリとは異なるリージョンに配置できます。
[ 名前] で、Azure データ ファクトリの名前は グローバルに一意である必要があります。 データ ファクトリの名前の値に関するエラー メッセージが表示された場合は、別の名前を入力してください。 (例: yournameADFDemo)。 Data Factory アーティファクトの名前付け規則については、Data Factory の名前付け規則に関するページを参照してください。
[バージョン] で、 [V2] を選択します。
上部にある [Git configuration]\(Git 構成\) タブを選択し、 [Configure Git later]\(後で Git を構成する\) チェック ボックスをオンにします。
[確認と作成] を選択し、検証に成功したら [作成] を選択します。
作成が完了すると、その旨が通知センターに表示されます。 [リソースに移動] を選択して、Data factory ページに移動します。
Azure Data Factory Studio タイルで [Launch Studio] を選択します。
パイプラインを作成する
この手順では、コピー アクティビティが含まれたパイプラインをデータ ファクトリに作成します。 コピー アクティビティによって、Blob Storage から SQL Database にデータがコピーされます。
ホーム ページで [調整] を選択します。
[全般] パネルの [プロパティ] 下で、 [名前] に CopyPipeline を指定します。 次に、右上隅にある [プロパティ] アイコンをクリックしてパネルを折りたたみます。
[アクティビティ] ツール ボックスで [Move and Transform]\(移動と変換\) カテゴリを展開し、ツール ボックスからパイプライン デザイナー画面に [データのコピー] アクティビティをドラッグ アンド ドロップします。 [名前] に「CopyFromBlobToSql」と指定します。
ソースの構成
ヒント
このチュートリアルでは、ソース データ ストアの認証の種類として アカウント キー を使用しますが、必要に応じて、サポートされている他の認証方法 ( SAS URI、 サービス プリンシパル、 マネージド ID) を 選択できます。 詳細については、この記事の対応するセクションを参照してください。 さらに、データ ストアのシークレットを安全に格納するために、Azure Key Vault の使用をお勧めします。 詳細については、この記事を参照してください。
[ソース] タブに移動します。 [+ 新規] を選択して、ソース データセットを作成します。
[新しいデータセット] ダイアログ ボックスで [Azure Blob Storage] を選択し、 [続行] をクリックします。 ソース データは Blob Storage にあるので、ソース データセットには Azure Blob Storage を選択します。
[ 書式の選択 ] ダイアログ ボックスで、[ 区切りテキスト] を選択し、[ 続行] を選択します。
[プロパティの設定] ダイアログ ボックスで、[名前] に「SourceBlobDataset」を入力します。 [First row as header]\(先頭の行を見出しとして使用\) のチェック ボックスをオンにします。 [リンクされたサービス] ボックスの下にある [+ 新規] を選択します。
[New Linked Service (Azure Blob Storage)]\(新しいリンクされたサービス (Azure Blob Storage)\) ダイアログ ボックスで、名前として「AzureStorageLinkedService」と入力し、 [ストレージ アカウント名] の一覧からご自身のストレージ アカウントを選択します。 接続をテストし、 [作成] を選択して、リンクされたサービスをデプロイします。
リンクされたサービスが作成されると、 [プロパティの設定] ページに戻ります。 [ファイル パス] の横にある [参照] を選択します。
adftutorial/input フォルダーに移動し、emp.txt ファイルを選択して、 [OK] を選択します。
[OK] を選択します。 自動的にパイプライン ページに移動します。 [ソース] タブで、 [SourceBlobDataset] が選択されていることを確認します。 このページのデータをプレビューするには、 [データのプレビュー] を選択します。
シンクの構成
ヒント
このチュートリアルでは、シンク データ ストアの認証の種類として "SQL 認証" を使用しますが、サポートされている他の認証方法を選ぶこともできます。必要に応じて、"サービス プリンシパル" と "マネージド ID" を使用できます。 詳細については、この記事の対応するセクションを参照してください。 さらに、データ ストアのシークレットを安全に格納するために、Azure Key Vault の使用をお勧めします。 詳細については、この記事を参照してください。
[シンク] タブに移動し、 [+ 新規] を選択してシンク データセットを作成します。
[新しいデータセット] ダイアログ ボックスで、検索ボックスに「SQL」と入力してコネクタをフィルター処理し、 [Azure SQL Database] を選択して、 [続行] を選択します。
[プロパティの設定] ダイアログ ボックスで、[名前] に「OutputSqlDataset」を入力します。 [リンクされたサービス] ボックスの一覧から [+ 新規] を選択します。 データセットをリンクされたサービスに関連付ける必要があります。 リンクされたサービスには、Data Factory が実行時に SQL Database に接続するために使用する接続文字列があり、データのコピー先を指定します。
[New Linked Service (Azure SQL Database)]\(新しいリンクされたサービス (Azure SQL Database)\) ダイアログ ボックスで、次の手順を実行します。
ある。 [名前] に「AzureSqlDatabaseLinkedService」と入力します。
b。 [サーバー名] で、使用する SQL Server インスタンスを選択します。
c. [データベース名] で、使用するデータベースを選択します。
d. [ユーザー名] に、ユーザーの名前を入力します。
え [パスワード] に、ユーザーのパスワードを入力します。
f. [テスト接続] を選択して接続をテストします。
ジー [作成] を選択して、リンクされたサービスをデプロイします。
[プロパティの設定] ダイアログ ボックスに自動的に移動します。 テーブルで、手動で入力を選択し、[dbo].[emp]を入力します。 [OK] をクリックします。
パイプラインがあるタブに移動し、 [Sink Dataset]\(シンク データセット\) で OutputSqlDataset が選択されていることを確認します。
必要に応じて「コピー アクティビティでのスキーマ マッピング」に従い、コピー元のスキーマをコピー先の対応するスキーマにマッピングすることができます。
パイプラインを検証する
パイプラインを検証するには、ツール バーから [検証] を選択します。
パイプラインに関連付けられている JSON コードを確認するには、右上にある [コード] をクリックします。
パイプラインをデバッグして発行する
Data Factory または独自の Azure Repos Git リポジトリにアーティファクト (リンクされたサービス、データセット、パイプライン) を発行する前に、パイプラインをデバッグできます。
パイプラインをデバッグするには、ツール バーで [デバッグ] を選択します。 ウィンドウ下部の [出力] タブにパイプラインの実行の状態が表示されます。
パイプラインを適切に実行できたら、上部のツール バーで [すべて発行] を選択します。 これにより、作成したエンティティ (データセットとパイプライン) が Data Factory に発行されます。
正常に発行された通知メッセージが表示されるまで待ちます。 通知メッセージを表示するには、右上の [ 通知の表示 ] (ベル ボタン) を選択します。
パイプラインを手動でトリガーする
この手順では、前の手順で発行したパイプラインを手動でトリガーします。
ツール バーの [ トリガーの追加] を選択し、[ 今すぐトリガー] を選択します。
[Pipeline Run]\(パイプラインの実行\) ページで [OK] を選択します。
左側の [監視] タブに移動します。 手動トリガーによってトリガーされたパイプラインの実行が表示されます。 [パイプライン名] 列のリンクを使用して、アクティビティの詳細を表示したりパイプラインを再実行したりできます。
パイプラインの実行に関連付けられているアクティビティの実行を表示するには、 [パイプライン名] 列の [CopyPipeline] リンクを選択します。 この例では、アクティビティが 1 つだけなので、一覧に表示されるエントリは 1 つのみです。 コピー操作の詳細については、アクティビティにカーソルを合わせ、
[アクティビティ名] 列の下にある [詳細] リンク (眼鏡アイコン) を選択します。 再度パイプラインの実行ビューに移動するには、一番上にある [すべてのパイプラインの実行] を選択します。 表示を更新するには、 [最新の情報に更新] を選択します。
データベースの emp テーブルに 2 つの行が追加されていることを確認します。
スケジュールに基づいてパイプラインをトリガーする
このスケジュールでは、パイプラインのスケジュール トリガーを作成します。 このトリガーは、指定されたスケジュール (1 時間に 1 回、毎日など) に基づいてパイプラインを実行します。 ここでは、指定された終了日時まで毎分実行されるようトリガーを設定します。
[監視] タブの上にある左側の [作成者] タブに移動します。
パイプラインに移動し、ツール バーで [トリガー ] を選択し、[ 新規] または [編集] を選択します。
[トリガーの追加] ダイアログ ボックス で、[トリガーの 選択] を 選択 し、[ + 新規] を選択します。
[新しいトリガー] ウィンドウで、次の手順を実行します。
ある。 [名前] に「RunEveryMinute」と入力します。
b。 トリガーの [開始日] を更新します。 日付が現在の日時より前の場合は、変更が発行されたらトリガーが有効になります。
c. [タイム ゾーン] のドロップダウン リストを選択します。
d. [繰り返し] を [1 分ごと] に設定します。
え [終了日の指定] のチェック ボックスをオンにし、 [終了日] の部分を現在の日時の数分後に更新します。 トリガーは、変更を発行した後にのみアクティブ化されます。 これをわずか数分後に設定し、それまでに発行しなかった場合、トリガー実行は表示されません。
f. [アクティブ化] オプションで [はい] を選択します。
ジー [OK] を選択します。
重要
パイプラインの実行ごとにコストが関連付けられるため、終了日は適切に設定してください。
[トリガーの編集] ページで警告を確認し、 [保存] を選択します。 この例のパイプラインにはパラメーターはありません。
[ すべて公開] を選択して変更を発行します。
左側の [モニター] タブに移動して、トリガーされたパイプラインの実行を確認します。
パイプラインの実行ビューからトリガーの実行ビューに切り替えるには、ウィンドウの左側の [Trigger Runs](トリガーの実行) を選択します。
トリガーの実行が一覧で表示されます。
指定された終了日時まで、(各パイプライン実行について) 1 分ごとに 2 つの行が emp テーブルに挿入されていることを確認します。
トリガーを無効にする
作成した分単位のトリガーを無効にするには、次の手順に従います。
左側の [ 管理 ] ウィンドウを選択します。
[作成者] で [トリガー] を選びます。
作成した RunEveryMinute トリガーにカーソルを合わせます。
- [ 停止 ] ボタンを選択して、トリガーの実行を無効にします。
- [ 削除 ] ボタンを選択して、トリガーを無効にして削除します。
[すべて公開] を選択して、変更を保存します。
関連するコンテンツ
このサンプルのパイプラインは、Blob Storage 内のある場所から別の場所にデータをコピーします。 以下の方法を学習しました。
- データ ファクトリを作成します。
- コピー アクティビティを含むパイプラインを作成します。
- パイプラインをテスト実行します。
- パイプラインを手動でトリガーします。
- スケジュールに基づいてパイプラインをトリガーします。
- パイプラインとアクティビティの実行を監視します。
- スケジュールされたトリガーを無効または削除します。
オンプレミスからクラウドにデータをコピーする方法について学習するには、次のチュートリアルに進んでください。
Azure Blob Storage と Azure SQL Database との間でデータをコピーする方法の詳細については、次のコネクタ ガイドを参照してください。