データのコピー ツールを使用して Azure Blob Storage から SQL データベースにデータをコピーする

適用対象: Azure Data Factory Azure Synapse Analytics

このチュートリアルでは、Azure Portal を使用してデータ ファクトリを作成します。 次に、データのコピー ツールを使用して、Azure Blob Storage から SQL データベースにデータをコピーするパイプラインを作成します。

注意

Azure Data Factory を初めて使用する場合は、「Azure Data Factory の概要」を参照してください。

このチュートリアルでは、以下の手順を実行します。

  • データ ファクトリを作成します。
  • データのコピー ツールを使用してパイプラインを作成します。
  • パイプラインとアクティビティの実行を監視します。

前提条件

  • Azure サブスクリプション:Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
  • Microsoft Azure Storage アカウント:Blob Storage を "ソース" データ ストアとして使用します。 Azure ストレージ アカウントがない場合は、ストレージ アカウントの作成に関するページの手順を参照してください。
  • Azure SQL Database:"シンク" データ ストアとして SQL データベースを使用します。 SQL データベースがない場合は、SQL データベースの作成に関するページの手順を参照してください。

BLOB と SQL テーブルを作成する

次の手順を実行して、チュートリアルで使用する Blob Storage と SQL データベースを準備します。

ソース BLOB を作成する

  1. メモ帳 を起動します。 次のテキストをコピーし、inputEmp.txt というファイル名でディスクに保存します。

    FirstName|LastName
    John|Doe
    Jane|Doe
    
  2. adfv2tutorial という名前のコンテナーを作成し、そこに inputEmp.txt ファイルをアップロードします。 これらのタスクは、Azure portal または各種ツール (Azure Storage Explorer など) を使用して実行できます。

シンク SQL テーブルを作成する

  1. 次の 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);
    
  2. Azure サービスに SQL Server へのアクセスを許可します。 SQL データベースが実行されているサーバーの [Azure サービスおよびリソースにこのサーバーへのアクセスを許可する] 設定が有効になっていることを確認します。 この設定により、Data Factory はお使いのデータベース インスタンスにデータを書き込むことができます。 この設定を確認および有効にするには、論理 SQL サーバーで [セキュリティ]、[ファイアウォールと仮想ネットワーク] の順に移動して、 [Azure サービスおよびリソースにこのサーバーへのアクセスを許可する] オプションを [オン] に設定します。

    注意

    [Azure サービスおよびリソースにこのサーバーへのアクセスを許可する] を選択すると、自分のサブスクリプション内のリソースに限らず、あらゆる Azure リソースから SQL Server にネットワークでアクセスできるようになります。 詳細については、Azure SQL Server のファイアウォール規則に関するページを参照してください。 代わりに、プライベート エンドポイントを使用して、パブリック IP を使用せずに、Azure PaaS サービスに接続することもできます。

Data Factory の作成

  1. 左側のメニューで、 [リソースの作成] > [統合] > [Data Factory] を選択します。

    新しいデータ ファクトリの作成

  2. [新しいデータ ファクトリ] ページで、 [名前] に「ADFTutorialDataFactory」と入力します。

    データ ファクトリの名前は "グローバルに一意" にする必要があります。 次のエラー メッセージが表示される場合があります。

    重複する名前に関する、新しいデータ ファクトリのエラー メッセージ。

    データ ファクトリの名前の値に関するエラー メッセージが表示された場合は、別の名前を入力してください。 たとえば、yournameADFTutorialDataFactory という名前を使用します。 Data Factory アーティファクトの名前付け規則については、Data Factory の名前付け規則に関する記事をご覧ください。

  3. 新しいデータ ファクトリの作成先となる Azure サブスクリプション を選択します。

  4. [リソース グループ] で、次の手順のいずれかを行います。

    a. [Use existing (既存のものを使用)] を選択し、ドロップダウン リストから既存のリソース グループを選択します。

    b. [新規作成] を選択し、リソース グループの名前を入力します。

    リソース グループの詳細については、リソース グループを使用した Azure のリソースの管理に関するページを参照してください。

  5. [バージョン] で、バージョンとして [V2] を選択します。

  6. [場所] で、データ ファクトリの場所を選択します。 サポートされている場所のみがドロップダウン リストに表示されます。 データ ファクトリによって使用されるデータ ストア (Azure Storage、SQL Database など) やコンピューティング (Azure HDInsight など) は、他の場所やリージョンに存在していてもかまいません。

  7. [作成] を選択します

  8. 作成が完了すると、 [Data Factory] ホーム ページが表示されます。

    [作成と監視] タイルが含まれた Azure Data Factory のホーム ページ。

  9. 別のタブで Azure Data Factory ユーザー インターフェイス (UI) を起動するには、 [Author & Monitor](作成と監視) タイルを選択します。

データのコピー ツールを使用してパイプラインを作成する

  1. [Let's get started](始めましょう) ページで、 [データのコピー] タイルを選択してデータのコピー ツールを起動します。

    データのコピー ツールのタイル

  2. [プロパティ] ページの [タスク名] に「CopyFromBlobToSqlPipeline」と入力します。 [次へ] を選択します。 指定したタスク名のパイプラインが Data Factory UI によって作成されます。

    パイプラインを作成する

  3. [ソース データ ストア] ページで、次の手順を実行します。

    a. [+ 新しい接続の作成] を選択して、接続を追加します。

    b. ギャラリーから [Azure Blob Storage] を選択し、 [続行] を選択します。

    c. [New Linked Service](新しいリンクされたサービス) ページでご使用の Azure サブスクリプションを選択し、 [ストレージ アカウント名] ボックスの一覧からストレージ アカウントを選択します。 接続をテストし、 [作成] を選択します。

    d. 新しく作成したリンクされたサービスをソースとして選択し、 [次へ] を選択します。

    ソースのリンクされたサービスの選択

  4. [Choose the input file or folder](入力ファイルまたはフォルダーの選択) ページで、次の手順を実行します。

    a. [参照] を選択して、adfv2tutorial/input フォルダーに移動します。inputEmp.txt ファイルを選択し、 [選択] を選択します。

    b. [次へ] を選択して、次の手順に進みます。

  5. [File format settings](ファイル形式設定) ページで、 [First row as header](先頭の行をヘッダーにする) のチェック ボックスをオンにします。 ツールによって、列区切り記号と行区切り記号が自動的に検出されることを確認します。 [次へ] を選択します。 このページでは、データのプレビューと入力データのスキーマを表示することもできます。

    ファイル形式設定

  6. [ターゲット データ ストア] ページで、次の手順を実行します。

    a. [+ 新しい接続の作成] を選択して、接続を追加します。

    b. ギャラリーで [Azure SQL Database] を選択し、 [続行] を選択します。

    c. [New Linked Service](新しいリンクされたサービス) ページで、ドロップダウン リストからご自身のサーバー名と DB を選択し、ユーザー名とパスワードを指定して、 [作成] をクリックします。

    Azure SQL DB の構成

    d. 新しく作成したリンクされたサービスをシンクとして選択し、 [次へ] を選択します。

  7. [テーブル マッピング] ページで [dbo].[emp] テーブルを選択し、 [次へ] を選択します。

  8. [列マッピング] ページで、入力ファイルの 2 番目と 3 番目の列が emp テーブルの FirstName 列と LastName 列にマップされていることがわかります。 マッピングを調整して、エラーがないことを確認し、 [次へ] を選択します。

    [列マッピング] ページ

  9. [設定] ページで [次へ] を選択します。

  10. [サマリー] ページで設定を確認し、 [次へ] を選択します。

  11. [Deployment](デプロイ) ページで [監視] を選択してパイプライン (タスク) を監視します。

    パイプラインを監視する

  12. [パイプラインの実行] ページで、 [最新の情報に更新] を選択して一覧を更新します。 [パイプライン名] の下にあるリンクを選択して、アクティビティの実行の詳細を表示するか、パイプラインを再実行します。

    パイプラインの実行

  13. コピー操作の詳細については、[アクティビティの実行] ページで、 [アクティビティ名] 列の下にある [詳細] リンク (眼鏡アイコン) を選択します。 [パイプラインの実行] ビューに戻るには、階層リンク メニューの [すべてのパイプラインの実行] リンクを選択します。 表示を更新するには、 [最新の情報に更新] を選択します。

    アクティビティの実行を監視する

  14. SQL データベースの dbo.emp テーブルにデータが挿入されたことを確認します。

  15. 左側の [作成者] タブを選択して、編集モードに切り替えます。 ツールによって作成されたリンクされたサービス、データセット、パイプラインをエディターで更新できます。 Data Factory UI におけるこれらのエンティティの編集について詳しくは、このチュートリアルの Azure Portal バージョンを参照してください。

    [作成者] タブを選択する

次のステップ

このサンプルのパイプラインでは、Blob Storage から SQL データベースにデータがコピーされます。 以下の方法を学習しました。

  • データ ファクトリを作成します。
  • データのコピー ツールを使用してパイプラインを作成します。
  • パイプラインとアクティビティの実行を監視します。

オンプレミスからクラウドにデータをコピーする方法について学習するには、次のチュートリアルに進んでください。