クイックスタート: Azure CLI を使用して Azure データ ファクトリを作成する
このクイックスタートでは、Azure CLI を使用して Azure データ ファクトリを作成する方法について説明します。 このデータ ファクトリに作成されたパイプラインは、データを Azure Blob Storage 内のあるフォルダーから別のフォルダーにコピーします。 Azure Data Factory を使用してデータを変換する方法については、「Azure Data Factory でデータを変換する」を参照してください。
Azure Data Factory サービスの概要については、「Azure Data Factory の概要」をご覧ください。
Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。
前提条件
Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。
CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。
ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。
初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。
az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。
Note
Data Factory インスタンスを作成するには、Azure へのサインインに使用するユーザー アカウントが、共同作成者ロールまたは所有者ロールのメンバーであるか、Azure サブスクリプションの管理者である必要があります。 詳細については、Azure のロールに関するページをご覧ください。
コンテナーとテスト ファイルを準備する
このクイックスタートでは、Azure ストレージ アカウントを使用して、コンテナーとファイルを追加します。
ADFQuickStartRG
という名前のリソース グループを作成するには、az group create コマンドを使用します。az group create --name ADFQuickStartRG --location eastus
az storage account create コマンドを使用してストレージ アカウントを作成します。
az storage account create --resource-group ADFQuickStartRG \ --name adfquickstartstorage --location eastus
az storage container create コマンドを使用して、
adftutorial
という名前のコンテナーを作成します。az storage container create --resource-group ADFQuickStartRG --name adftutorial \ --account-name adfquickstartstorage --auth-mode key
ローカル ディレクトリに、
emp.txt
という名前で、アップロードするファイルを作成します。 Azure Cloud Shell で作業している場合、現在の作業ディレクトリは、echo $PWD
Bash コマンドを使用して調べることができます。 ファイルの作成には、標準的な Bash コマンド (cat
) を使用できます。cat > emp.txt This is text.
Ctrl + D キーを使用して、新しいファイルを保存します。
Azure Storage コンテナーに新しいファイルをアップロードするには、az storage blob upload コマンドを使用します。
az storage blob upload --account-name adfquickstartstorage --name input/emp.txt \ --container-name adftutorial --file emp.txt --auth-mode key
このコマンドでは、
input
という名前の新しいフォルダーにアップロードしています。
Data Factory の作成
Azure データ ファクトリを作成するには、az datafactory create コマンドを実行します。
az datafactory create --resource-group ADFQuickStartRG \
--factory-name ADFTutorialFactory
重要
ADFTutorialFactory
は、グローバルに一意のデータ ファクトリ名に置き換えてください (ADFTutorialFactorySP1127 など)。
作成したデータ ファクトリは、az datafactory show コマンドを使用して確認できます。
az datafactory show --resource-group ADFQuickStartRG \
--factory-name ADFTutorialFactory
リンク サービスとデータセットを作成する
次に、リンク サービスと 2 つのデータセットを作成します。
az storage account show-connection-string コマンドを使用してストレージ アカウントの接続文字列を取得します。
az storage account show-connection-string --resource-group ADFQuickStartRG \ --name adfquickstartstorage --key primary
作業ディレクトリに、この内容の JSON ファイルを作成し、前の手順で取得した実際の接続文字列を追加します。 このファイルに
AzureStorageLinkedService.json
という名前を付けます。{ "type": "AzureBlobStorage", "typeProperties": { "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net" } }
az datafactory linked-service create コマンドを使用して、
AzureStorageLinkedService
という名前のリンク サービスを作成します。az datafactory linked-service create --resource-group ADFQuickStartRG \ --factory-name ADFTutorialFactory --linked-service-name AzureStorageLinkedService \ --properties AzureStorageLinkedService.json
作業ディレクトリに、この内容の JSON ファイルを
InputDataset.json
という名前で作成します。{ "linkedServiceName": { "referenceName": "AzureStorageLinkedService", "type": "LinkedServiceReference" }, "annotations": [], "type": "Binary", "typeProperties": { "location": { "type": "AzureBlobStorageLocation", "fileName": "emp.txt", "folderPath": "input", "container": "adftutorial" } } }
az datafactory dataset create コマンドを使用して、
InputDataset
という名前の入力データセットを作成します。az datafactory dataset create --resource-group ADFQuickStartRG \ --dataset-name InputDataset --factory-name ADFTutorialFactory \ --properties InputDataset.json
作業ディレクトリに、この内容の JSON ファイルを
OutputDataset.json
という名前で作成します。{ "linkedServiceName": { "referenceName": "AzureStorageLinkedService", "type": "LinkedServiceReference" }, "annotations": [], "type": "Binary", "typeProperties": { "location": { "type": "AzureBlobStorageLocation", "folderPath": "output", "container": "adftutorial" } } }
az datafactory dataset create コマンドを使用して、
OutputDataset
という名前の出力データセットを作成します。az datafactory dataset create --resource-group ADFQuickStartRG \ --dataset-name OutputDataset --factory-name ADFTutorialFactory \ --properties OutputDataset.json
パイプラインを作成して実行する
最後に、パイプラインを作成して実行します。
作業ディレクトリに、この内容の JSON ファイルを
Adfv2QuickStartPipeline.json
という名前で作成します。{ "name": "Adfv2QuickStartPipeline", "properties": { "activities": [ { "name": "CopyFromBlobToBlob", "type": "Copy", "dependsOn": [], "policy": { "timeout": "7.00:00:00", "retry": 0, "retryIntervalInSeconds": 30, "secureOutput": false, "secureInput": false }, "userProperties": [], "typeProperties": { "source": { "type": "BinarySource", "storeSettings": { "type": "AzureBlobStorageReadSettings", "recursive": true } }, "sink": { "type": "BinarySink", "storeSettings": { "type": "AzureBlobStorageWriteSettings" } }, "enableStaging": false }, "inputs": [ { "referenceName": "InputDataset", "type": "DatasetReference" } ], "outputs": [ { "referenceName": "OutputDataset", "type": "DatasetReference" } ] } ], "annotations": [] } }
az datafactory pipeline create コマンドを使用して、
Adfv2QuickStartPipeline
という名前のパイプラインを作成します。az datafactory pipeline create --resource-group ADFQuickStartRG \ --factory-name ADFTutorialFactory --name Adfv2QuickStartPipeline \ --pipeline Adfv2QuickStartPipeline.json
az datafactory pipeline create-run コマンドを使用してパイプラインを実行します。
az datafactory pipeline create-run --resource-group ADFQuickStartRG \ --name Adfv2QuickStartPipeline --factory-name ADFTutorialFactory
このコマンドからは、実行 ID が返されます。 これをコピーしてください。次のコマンドで使用します。
az datafactory pipeline-run show コマンドを使用して、パイプラインが正常に実行されたことを確認します。
az datafactory pipeline-run show --resource-group ADFQuickStartRG \ --factory-name ADFTutorialFactory --run-id 00000000-0000-0000-0000-000000000000
パイプラインが想定どおりに実行されたことは、Azure portal を使用して確認することもできます。 詳細については、「デプロイされているリソースを確認する」を参照してください。
リソースをクリーンアップする
このクイックスタート内のリソースはすべて、同じリソース グループに属しています。 それらをすべて削除するには、az group delete コマンドを使用します。
az group delete --name ADFQuickStartRG
このリソース グループを何か他の目的で使用する場合は、リソースを個別に削除してください。 たとえば、リンク サービスを削除するには、az datafactory linked-service delete コマンドを使用します。
このクイックスタートでは、次の JSON ファイルを作成しました。
- AzureStorageLinkedService.json
- InputDataset.json
- OutputDataset.json
- Adfv2QuickStartPipeline.json
これらは、標準的な Bash コマンドを使用して削除してください。