適用対象:
Azure Data Factory
Azure Synapse Analytics
ヒント
Data Factory in Microsoft Fabric は、よりシンプルなアーキテクチャ、組み込みの AI、および新機能を備えた次世代のAzure Data Factoryです。 データ統合を初めて使用する場合は、Fabric Data Factory から始めます。 既存の ADF ワークロードをFabricにアップグレードして、データ サイエンス、リアルタイム分析、レポートの新機能にアクセスできます。
このチュートリアルでは、Azure PowerShell を使用して、SQL Server データベースから Azure Blob ストレージにデータをコピーするデータファクトリパイプラインを作成します。 セルフホステッド統合ランタイムを作成して使用すると、オンプレミス データ ストアとクラウド データ ストア間でデータを移動できます。
注釈
この記事では、Data Factory サービスの概要については詳しく取り上げません。 詳細については、「
このチュートリアルでは、以下の手順を実行します。
- データ ファクトリを作成します。
- セルフホステッド統合ランタイムを作成します。
- SQL Server と Azure Storage のリンクサービスを作成します。
- SQL ServerとAzure BLOB データセットを作成します。
- コピー アクティビティでデータを移動するパイプラインを作成します。
- パイプラインの実行を開始します。
- パイプラインの実行を監視します。
前提条件
Azure サブスクリプション
開始する前に、Azure サブスクリプションをまだお持ちでない場合は、無料アカウントを作成します。
Azure のロール
データ ファクトリ インスタンスを作成するには、Azureへのサインインに使用するユーザー アカウントに、Contributor または Owner ロールが割り当てられているか、Azure サブスクリプションの administrator である必要があります。
サブスクリプションに付与されているアクセス許可を表示するには、Azure ポータルに移動し、右上隅にあるユーザー名を選択し、Permissions を選択します。 複数のサブスクリプションにアクセスできる場合は、適切なサブスクリプションを選択します。 ロールにユーザーを追加する手順の例については、Azure ポータルを使用して assign Azure ロール記事を参照してください。
SQL Server 2014、2016、2017
このチュートリアルでは、SQL Server データベースを source データ ストアとして使用します。 このチュートリアルで作成するデータ ファクトリのパイプラインは、このSQL Server データベース (ソース) から Azure Blob Storage (格納先) にデータをコピーします。 次に、SQL Server データベースに emp という名前のテーブルを作成し、いくつかのサンプル エントリをテーブルに挿入します。
SQL Server Management Studioを開始します。 コンピューターにまだインストールされていない場合は、ダウンロード SQL Server Management Studio に移動します。
資格情報を使用してSQL Server インスタンスに接続します。
サンプル データベースを作成します。 ツリー ビューで [データベース] を右クリックし、 [新しいデータベース] を選択します。
[新しいデータベース] ウィンドウで、データベースの名前を入力し、 [OK] を選択します。
emp テーブルを作成していくつかのサンプル データを挿入するために、次のクエリ スクリプトをデータベースに対して実行します。 ツリー ビューで、作成したデータベースを右クリックし、 [新しいクエリ] をクリックします。
CREATE TABLE dbo.emp ( ID int IDENTITY(1,1) NOT NULL, FirstName varchar(50), LastName varchar(50) ) GO INSERT INTO emp (FirstName, LastName) VALUES ('John', 'Doe') INSERT INTO emp (FirstName, LastName) VALUES ('Jane', 'Doe') GO
Azure Storage アカウント
このチュートリアルでは、汎用Azure ストレージ アカウント (具体的には、blob storage Azure) をコピー先/シンク データ ストアとして使用します。 汎用Azureストレージ アカウントがない場合は、「ストレージ アカウントの作成」を参照してください。 このチュートリアルで作成したデータ ファクトリのパイプラインは、SQL Server データベース (ソース) からこのAzure BLOB ストレージ (シンク) にデータをコピーします。
ストレージ アカウント名とアカウント キーの取得
このチュートリアルでは、Azure ストレージ アカウントの名前とキーを使用します。 以下の手順に従って、ご利用のストレージ アカウントの名前とキーを取得してください。
Azureのユーザー名とパスワードを使用して、Azure portal にサインインします。
左側のウィンドウの [その他のサービス] を選択し、「ストレージ」というキーワードでフィルタリングして、 [ストレージ アカウント] を選択します。
ストレージ アカウントの一覧で、ご利用のストレージ アカウントを (必要に応じて) フィルターで抽出し、該当するストレージ アカウントを選択します。
[ストレージ アカウント] ウィンドウで [アクセス キー] を選択します。
[ストレージ アカウント名] ボックスと [key1] ボックスの値をコピーし、メモ帳などのエディターに貼り付けます。これらの値は、後でこのチュートリアルの中で使用します。
adftutorial コンテナーの作成
このセクションでは、Azure Blob Storage に adftutorial という名前の BLOB コンテナーを作成します。
[ストレージ アカウント] ウィンドウで [概要] に切り替え、 [BLOB] を選択します。
[Blob service] ウィンドウで [コンテナー] を選択します。
[新しいコンテナー] ウィンドウの [名前] ボックスに「adftutorial」と入力し、 [OK] を選択します。
コンテナーの一覧で、 [adftutorial] を選択します。
adftutorial の [コンテナー] ウィンドウを開いたままにしておきます。 チュートリアルの最後で、それを使用して出力を確認します。 このコンテナーには output フォルダーが Data Factory によって自動的に作成されます。手動で作成する必要はありません。
Windows PowerShell
Azure PowerShellのインストール
注釈
Azure Az PowerShell モジュールを使用してAzureを操作することをお勧めします。 作業を開始するには、「Install Azure PowerShellを参照してください。 Az PowerShell モジュールに移行する方法については、「
コンピューターにまだインストールしていない場合は、最新バージョンのAzure PowerShellをインストールします。 詳細な手順については、「
PowerShell にログインする
ご利用のマシンで PowerShell を起動します。このクイックスタート チュートリアルが終わるまで開いたままにしてください。 Azure PowerShell を閉じて再度開いた場合は、これらのコマンドをもう一度実行する必要があります。
次のコマンドを実行し、Azure ポータルへのサインインに使用するAzureユーザー名とパスワードを入力します。
Connect-AzAccount複数のAzure サブスクリプションがある場合は、次のコマンドを実行して、操作するサブスクリプションを選択します。 SubscriptionId をAzure サブスクリプションの ID に置き換えます。
Select-AzSubscription -SubscriptionId "<SubscriptionId>"
Data Factory の作成
後で PowerShell コマンドで使用できるように、リソース グループ名の変数を定義します。 次のコマンドを PowerShell にコピーし、Azure リソース グループ の名前 (二重引用符で囲む
"adfrg"など) を指定して、コマンドを実行します。$resourceGroupName = "ADFTutorialResourceGroup"Azure リソース グループを作成するには、次のコマンドを実行します。
New-AzResourceGroup $resourceGroupName -location 'East US'リソース グループが既に存在する場合、上書きしないようお勧めします。
$resourceGroupName変数に別の値を割り当てて、コマンドをもう一度実行します。後で PowerShell コマンドで使用できるように、データ ファクトリ名の変数を定義します。 名前は文字または数字で始まり、英文字、数字、ダッシュ (-) 文字のみを含めることができます。
重要
データ ファクトリ名は、グローバルに一意となるように更新してください。 たとえば、ADFTutorialFactorySP1127 とします。
$dataFactoryName = "ADFTutorialFactory"データ ファクトリの場所の変数を定義します。
$location = "East US"データ ファクトリを作成するために、次の
Set-AzDataFactoryV2コマンドレットを実行します。Set-AzDataFactoryV2 -ResourceGroupName $resourceGroupName -Location $location -Name $dataFactoryName
注釈
- データ ファクトリの名前はグローバルに一意にする必要があります。 次のエラーが発生した場合は、名前を変更してからもう一度実行してください。
The specified data factory name 'ADFv2TutorialDataFactory' is already in use. Data factory names must be globally unique. - data-factory インスタンスを作成するには、 Azureへのサインインに使用するユーザー アカウントには、contributor または owner ロールが割り当てられているか、Azure サブスクリプションの administrator である必要があります。
- Data Factory が現在使用できるAzureリージョンの一覧については、次のページで目的のリージョンを選択し、Analytics を展開して、Data Factory: Products available by region> を探します。 データ ファクトリで使用されるデータ ストア (Azure Storage、Azure SQL Databaseなど) とコンピューティング (Azure HDInsightなど) は、他のリージョンに置くことができます。
自己ホスト型統合ランタイムを作成する
このセクションでは、セルフホステッド統合ランタイムを作成し、それをオンプレミス のマシンと SQL Server データベースに関連付けます。 セルフホステッド統合ランタイムは、マシン上のSQL Server データベースからデータをAzure BLOBストレージにコピーするコンポーネントです。
統合ランタイムの名前に使用する変数を作成します。 一意の名前を使用し、その名前を書き留めます。 このチュートリアルの後で、それを使います。
$integrationRuntimeName = "ADFTutorialIR"セルフホステッド統合ランタイムを作成します。
Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -Name $integrationRuntimeName -Type SelfHosted -Description "selfhosted IR description"出力例を次に示します。
Name : ADFTutorialIR Type : SelfHosted ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Description : selfhosted IR description Id : /subscriptions/<subscription ID>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<dataFactoryName>/integrationruntimes/<integrationRuntimeName>作成された統合ランタイムの状態を取得するために、次のコマンドを実行します。
Get-AzDataFactoryV2IntegrationRuntime -name $integrationRuntimeName -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -Status出力例を次に示します。
State : NeedRegistration Version : CreateTime : 9/10/2019 3:24:09 AM AutoUpdate : On ScheduledUpdateDate : UpdateDelayOffset : LocalTimeZoneOffset : InternalChannelEncryption : Capabilities : {} ServiceUrls : {eu.frontend.clouddatahub.net} Nodes : {} Links : {} Name : <Integration Runtime name> Type : SelfHosted ResourceGroupName : <resourceGroup name> DataFactoryName : <dataFactory name> Description : selfhosted IR description Id : /subscriptions/<subscription ID>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<dataFactoryName>/integrationruntimes/<integrationRuntimeName>次のコマンドを実行して、クラウドの Data Factory サービスにセルフホステッド統合ランタイムを登録するための "認証キー" を取得します。 次の手順でマシンにインストールするセルフホステッド統合ランタイムを登録するために、いずれかのキーをコピーします (二重引用符は除外)。
Get-AzDataFactoryV2IntegrationRuntimeKey -Name $integrationRuntimeName -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName | ConvertTo-Json出力例を次に示します。
{ "AuthKey1": "IR@0000000000-0000-0000-0000-000000000000@xy0@xy@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=", "AuthKey2": "IR@0000000000-0000-0000-0000-000000000000@xy0@xy@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy=" }
統合ランタイムのインストール
ローカル Windows コンピューターに Azure Data Factory Integration Runtime をダウンロードし、インストールを実行します。
Microsoft Integration Runtime セットアップへようこそ ウィザードで、次へ を選択します。
[使用許諾契約書] ウィンドウで使用条件とライセンス契約に同意し、 [次へ] を選択します。
[インストール先フォルダー] ウィンドウで [次へ] を選択します。
インストールの準備ができた Microsoft Integration Runtime ウィンドウで、Install を選択します。
[Completed the Microsoft Integration Runtime Setup](Microsoft Integration Runtime セットアップの完了) ウィザードで [完了] を選択します。
Register Integration Runtime (セルフホステッド) ウィンドウで、前のセクションで保存したキーを貼り付け、Register を選択します。
New Integration Runtime (セルフホステッド) ノード ウィンドウで、Finish を選択します。
セルフホステッド統合ランタイムが正常に登録されると、次のメッセージが表示されます。
Register Integration Runtime (セルフホステッド) ウィンドウで、Launch Configuration Manager を選択します。
ノードがクラウド サービスに接続されると、次のメッセージが表示されます。
次の手順を実行して、SQL Server データベースへの接続をテストします。
a. Configuration Manager ウィンドウで、Diagnostics タブに切り替えます。
b. [データ ソースの種類] ボックスで [SqlServer] を選択します。
c. サーバー名を入力します。
d. データベース名を入力します。
e. 認証モードを選択します。
f. ユーザー名を入力します。
g. ユーザー名に関連付けられているパスワードを入力します。
h. 統合ランタイムがSQL Serverに接続できることを確認するには、Test を選択します。
接続に成功すると、緑色のチェック マーク アイコンが表示されます。 それ以外の場合は、失敗を表すエラー メッセージが表示されます。 問題を修正し、統合ランタイムがSQL Server インスタンスに接続できることを確認します。
前述の値はすべてメモしておいてください。後でこのチュートリアルの中で使用します。
リンクされたサービスを作成します
データ ストアおよびコンピューティング サービスをデータ ファクトリにリンクするには、リンクされたサービスをデータ ファクトリに作成します。 このチュートリアルでは、Azureストレージ アカウントと SQL Server インスタンスをデータ ストアにリンクします。 リンクされたサービスは、Data Factory サービスが実行時に接続するために使用する接続情報を持っています。
Azure Storage のリンクされたサービスを作成する (コピー先/シンク)
この手順では、Azure ストレージ アカウントをデータ ファクトリにリンクします。
次のコードを記述した AzureStorageLinkedService.json という名前の JSON ファイルを C:\ADFv2Tutorial フォルダーに作成します。 ADFv2Tutorial フォルダーがまだ存在しない場合は作成してください。
重要
ファイルを保存する前に、<accountName> と <accountKey> を、Azure ストレージ アカウントの名前とキーに置き換えます。 「前提条件」セクションでメモしたものです。
{ "name": "AzureStorageLinkedService", "properties": { "annotations": [], "type": "AzureBlobStorage", "typeProperties": { "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net" } } }PowerShell で C:\ADFv2Tutorial フォルダーに切り替えます。
Set-Location 'C:\ADFv2Tutorial'リンクされたサービス AzureStorageLinkedService を作成するために、次の
Set-AzDataFactoryV2LinkedServiceコマンドレットを実行します。Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -Name "AzureStorageLinkedService" -File ".\AzureStorageLinkedService.json"出力例を次に示します。
LinkedServiceName : AzureStorageLinkedService ResourceGroupName : <resourceGroup name> DataFactoryName : <dataFactory name> Properties : Microsoft.Azure.Management.DataFactory.Models.AzureBlobStorageLinkedService"ファイルが見つかりません" エラーが表示された場合は、
dirコマンドを実行してファイルが存在することを確認します。 ファイル名の拡張子が .txt となっている場合 (例: AzureStorageLinkedService.json.txt) は、その拡張子を削除してからもう一度 PowerShell コマンドを実行してください。
SQL Server のリンクされたサービス(ソース)を作成し、暗号化する
この手順では、SQL Server インスタンスをデータ ファクトリにリンクします。
次のコードを使用して、SqlServerLinkedService.json という名前の JSON ファイルを C:\ADFv2Tutorial フォルダーに作成します。
重要
SQL Serverへの接続に使用する認証に基づくセクションを選択します。
SQL 認証を使用する場合 (sa):
{ "name":"SqlServerLinkedService", "type":"Microsoft.DataFactory/factories/linkedservices", "properties":{ "annotations":[ ], "type":"SqlServer", "typeProperties":{ "connectionString":"integrated security=False;data source=<serverName>;initial catalog=<databaseName>;user id=<userName>;password=<password>" }, "connectVia":{ "referenceName":"<integration runtime name> ", "type":"IntegrationRuntimeReference" } } }Windows 認証の使用: { "name":"SqlServerLinkedService", "type":"Microsoft.DataFactory/factories/linkedservices", "properties":{ "annotations":[ ], "type":"SqlServer", "typeProperties":{ "connectionString":"integrated security=True;data source=<serverName>;initial catalog=<databaseName>", "userName":"<username> or <domain>\\<username>", "password":{ "type":"SecureString", "value":"<password>" } }, "connectVia":{ "referenceName":"<integration runtime name>", "type":"IntegrationRuntimeReference" } } }重要
- SQL Server インスタンスへの接続に使用する認証に基づくセクションを選択します。
- <integration runtime name> は、実際の統合ランタイムの名前に置き換えます。
- ファイルを保存する前に、
、servername 、databasename 、およびusername をそれぞれあなたのSQL Serverインスタンスの値に置き換えます。password - ユーザー アカウントまたはサーバー名にバックスラッシュ (\) を使う必要がある場合は、エスケープ文字 (\) に続けて入力してください。 たとえば、「mydomain\\myuser」のように入力します。
機密データ (ユーザー名、パスワードなど) を暗号化するには、
New-AzDataFactoryV2LinkedServiceEncryptedCredentialコマンドレットを実行します。
この暗号化によって、資格情報が Data Protection Application Programming Interface (DPAPI) を使って暗号化されます。 暗号化された資格情報は、セルフホステッド統合ランタイム ノード (ローカル マシン) のローカルに格納されます。 暗号化された資格情報が含まれる出力ペイロードは別の JSON ファイル (この場合は "encryptedLinkedService.json") にリダイレクトできます。New-AzDataFactoryV2LinkedServiceEncryptedCredential -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -IntegrationRuntimeName $integrationRuntimeName -File ".\SQLServerLinkedService.json" > encryptedSQLServerLinkedService.json次のコマンドを実行します。これによって、EncryptedSqlServerLinkedService が作成されます。
Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -Name "EncryptedSqlServerLinkedService" -File ".\encryptedSqlServerLinkedService.json"
データセットを作成する
この手順では、入力データセットと出力データセットを作成します。 コピー操作の入力データと出力データを表し、SQL Server データベースから Azure Blob Storage にデータをコピーします。
ソース SQL Server データベースのデータセットを作成する
この手順では、SQL Server データベース インスタンス内のデータを表すデータセットを定義します。 データセットの型は、SqlServerTable です。 これは、前の手順で作成したSQL Serverリンクされたサービスを指します。 リンクされたサービスには、Data Factory サービスが実行時にSQL Server インスタンスに接続するために使用する接続情報があります。 このデータセットは、データが含まれる、データベース内の SQL テーブルを指定します。 このチュートリアルでは、ソース データが含まれている emp テーブルです。
以下のコードを記述した SqlServerDataset.json という名前の JSON ファイルを C:\ADFv2Tutorial フォルダー内に作成します。
{ "name":"SqlServerDataset", "properties":{ "linkedServiceName":{ "referenceName":"EncryptedSqlServerLinkedService", "type":"LinkedServiceReference" }, "annotations":[ ], "type":"SqlServerTable", "schema":[ ], "typeProperties":{ "schema":"dbo", "table":"emp" } } }データセット SqlServerDataset を作成するには、
Set-AzDataFactoryV2Datasetコマンドレットを実行します。Set-AzDataFactoryV2Dataset -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "SqlServerDataset" -File ".\SqlServerDataset.json"出力例を次に示します。
DatasetName : SqlServerDataset ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.SqlServerTableDataset
Azure Blob Storage (シンク) のデータセットを作成する
この手順では、Azure Blob Storage にコピーされるデータを表すデータセットを定義します。 データセットの型は、AzureBlob です。 これは、このチュートリアルで先ほど作成したAzure Storageリンクされたサービスを指します。
リンクされたサービスには、データ ファクトリが実行時に Azure ストレージ アカウントに接続するために使用する接続情報があります。 このデータセットは、SQL Server データベースからデータをコピーするAzure ストレージ内のフォルダーを指定します。 このチュートリアルでは、このフォルダーは adftutorial/fromonprem です。ここで、adftutorial は BLOB コンテナーであり、fromonprem はフォルダーです。
以下のコードを記述した AzureBlobDataset.json という名前の JSON ファイルを C:\ADFv2Tutorial フォルダー内に作成します。
{ "name":"AzureBlobDataset", "properties":{ "linkedServiceName":{ "referenceName":"AzureStorageLinkedService", "type":"LinkedServiceReference" }, "annotations":[ ], "type":"DelimitedText", "typeProperties":{ "location":{ "type":"AzureBlobStorageLocation", "folderPath":"fromonprem", "container":"adftutorial" }, "columnDelimiter":",", "escapeChar":"\\", "quoteChar":"\"" }, "schema":[ ] }, "type":"Microsoft.DataFactory/factories/datasets" }データセット AzureBlobDataset を作成するには、
Set-AzDataFactoryV2Datasetコマンドレットを実行します。Set-AzDataFactoryV2Dataset -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "AzureBlobDataset" -File ".\AzureBlobDataset.json"出力例を次に示します。
DatasetName : AzureBlobDataset ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.DelimitedTextDataset
パイプラインを作成する
このチュートリアルでは、コピー アクティビティのあるパイプラインを作成します。 コピー アクティビティは、入力データセットとして SqlServerDataset を使用し、出力データセットとして AzureBlobDataset を使用します。 ソースの種類が SqlSource に設定され、シンクの種類が BlobSink に設定されています。
以下のコードを記述した SqlServerToBlobPipeline.json という名前の JSON ファイルを C:\ADFv2Tutorial フォルダー内に作成します。
{ "name":"SqlServerToBlobPipeline", "properties":{ "activities":[ { "name":"CopySqlServerToAzureBlobActivity", "type":"Copy", "dependsOn":[ ], "policy":{ "timeout":"7.00:00:00", "retry":0, "retryIntervalInSeconds":30, "secureOutput":false, "secureInput":false }, "userProperties":[ ], "typeProperties":{ "source":{ "type":"SqlServerSource" }, "sink":{ "type":"DelimitedTextSink", "storeSettings":{ "type":"AzureBlobStorageWriteSettings" }, "formatSettings":{ "type":"DelimitedTextWriteSettings", "quoteAllText":true, "fileExtension":".txt" } }, "enableStaging":false }, "inputs":[ { "referenceName":"SqlServerDataset", "type":"DatasetReference" } ], "outputs":[ { "referenceName":"AzureBlobDataset", "type":"DatasetReference" } ] } ], "annotations":[ ] } }パイプライン SQLServerToBlobPipeline を作成するには、
Set-AzDataFactoryV2Pipelineコマンドレットを実行します。Set-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "SQLServerToBlobPipeline" -File ".\SQLServerToBlobPipeline.json"出力例を次に示します。
PipelineName : SQLServerToBlobPipeline ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Activities : {CopySqlServerToAzureBlobActivity} Parameters :
パイプライン実行を設定する
SQLServerToBlobPipeline パイプラインの実行を開始し、後で監視できるようパイプライン実行 ID をキャプチャします。
$runId = Invoke-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineName 'SQLServerToBlobPipeline'
パイプラインの稼働を監視します
パイプライン SQLServerToBlobPipeline の実行状態を継続的にチェックするには、PowerShell で次のスクリプトを実行し、最終的な結果を出力します。
while ($True) { $result = Get-AzDataFactoryV2ActivityRun -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineRunId $runId -RunStartedAfter (Get-Date).AddMinutes(-30) -RunStartedBefore (Get-Date).AddMinutes(30) if (($result | Where-Object { $_.Status -eq "InProgress" } | Measure-Object).count -ne 0) { Write-Host "Pipeline run status: In Progress" -foregroundcolor "Yellow" Start-Sleep -Seconds 30 } else { Write-Host "Pipeline 'SQLServerToBlobPipeline' run finished. Result:" -foregroundcolor "Yellow" $result break } }サンプル実行の出力結果を次に示します。
ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> ActivityRunId : 24af7cf6-efca-4a95-931d-067c5c921c25 ActivityName : CopySqlServerToAzureBlobActivity ActivityType : Copy PipelineRunId : 7b538846-fd4e-409c-99ef-2475329f5729 PipelineName : SQLServerToBlobPipeline Input : {source, sink, enableStaging} Output : {dataRead, dataWritten, filesWritten, sourcePeakConnections...} LinkedServiceName : ActivityRunStart : 9/11/2019 7:10:37 AM ActivityRunEnd : 9/11/2019 7:10:58 AM DurationInMs : 21094 Status : Succeeded Error : {errorCode, message, failureType, target} AdditionalProperties : {[retryAttempt, ], [iterationHash, ], [userProperties, {}], [recoveryStatus, None]...}次のコマンドを実行して、パイプライン SQLServerToBlobPipeline の実行 ID を取得し、詳細なアクティビティの実行結果をチェックすることができます。
Write-Host "Pipeline 'SQLServerToBlobPipeline' run result:" -foregroundcolor "Yellow" ($result | Where-Object {$_.ActivityName -eq "CopySqlServerToAzureBlobActivity"}).Output.ToString()サンプル実行の出力結果を次に示します。
{ "dataRead":36, "dataWritten":32, "filesWritten":1, "sourcePeakConnections":1, "sinkPeakConnections":1, "rowsRead":2, "rowsCopied":2, "copyDuration":18, "throughput":0.01, "errors":[ ], "effectiveIntegrationRuntime":"ADFTutorialIR", "usedParallelCopies":1, "executionDetails":[ { "source":{ "type":"SqlServer" }, "sink":{ "type":"AzureBlobStorage", "region":"CentralUS" }, "status":"Succeeded", "start":"2019-09-11T07:10:38.2342905Z", "duration":18, "usedParallelCopies":1, "detailedDurations":{ "queuingDuration":6, "timeToFirstByte":0, "transferDuration":5 } } ] }
出力を検証する
このパイプラインは、adftutorial に、fromonprem という名前の出力フォルダーを自動的に作成します。 出力フォルダーに dbo.emp.txt ファイルがあることを確認してください。
Azure ポータルの adftutorial コンテナー ウィンドウで、Refresh を選択して出力フォルダーを表示します。
フォルダーの一覧で、
fromonpremを選択します。dbo.emp.txtという名前のファイルが表示されていることを確認します。
関連するコンテンツ
このサンプルのパイプラインは、Azure Blob ストレージ内のある場所から別の場所へデータをコピーします。 以下の方法を学習しました。
- データ ファクトリを作成します。
- セルフホステッド統合ランタイムを作成します。
- リンクサービスであるSQL ServerとAzure Storageを作成します。
- SQL ServerとAzure BLOB データセットを作成します。
- コピー アクティビティでデータを移動するパイプラインを作成します。
- パイプラインの実行を開始します。
- パイプラインの実行を監視します。
Data Factory でサポートされるデータ ストアの一覧については、サポートされるデータ ストアに関するセクションを参照してください。
次のチュートリアルに進んで、ソースからコピー先にデータを一括コピーする方法について学習しましょう。