クイックスタート: 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 ストレージ アカウントを使用して、コンテナーとファイルを追加します。

  1. ADFQuickStartRG という名前のリソース グループを作成するには、az group create コマンドを使用します。

    az group create --name ADFQuickStartRG --location eastus
    
  2. az storage account create コマンドを使用してストレージ アカウントを作成します。

    az storage account create --resource-group ADFQuickStartRG \
        --name adfquickstartstorage --location eastus
    
  3. az storage container create コマンドを使用して、adftutorial という名前のコンテナーを作成します。

    az storage container create --resource-group ADFQuickStartRG --name adftutorial \
        --account-name adfquickstartstorage --auth-mode key
    
  4. ローカル ディレクトリに、emp.txt という名前で、アップロードするファイルを作成します。 Azure Cloud Shell で作業している場合、現在の作業ディレクトリは、echo $PWD Bash コマンドを使用して調べることができます。 ファイルの作成には、標準的な Bash コマンド (cat) を使用できます。

    cat > emp.txt
    This is text.
    

    Ctrl + D キーを使用して、新しいファイルを保存します。

  5. 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 つのデータセットを作成します。

  1. az storage account show-connection-string コマンドを使用してストレージ アカウントの接続文字列を取得します。

    az storage account show-connection-string --resource-group ADFQuickStartRG \
        --name adfquickstartstorage --key primary
    
  2. 作業ディレクトリに、この内容の JSON ファイルを作成し、前の手順で取得した実際の接続文字列を追加します。 このファイルに AzureStorageLinkedService.json という名前を付けます。

    {
        "type": "AzureBlobStorage",
        "typeProperties": {
            "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net"
        }
    }
    
  3. az datafactory linked-service create コマンドを使用して、AzureStorageLinkedService という名前のリンク サービスを作成します。

    az datafactory linked-service create --resource-group ADFQuickStartRG \
        --factory-name ADFTutorialFactory --linked-service-name AzureStorageLinkedService \
        --properties @AzureStorageLinkedService.json
    
  4. 作業ディレクトリに、この内容の JSON ファイルを InputDataset.json という名前で作成します。

    {
        "linkedServiceName": {
            "referenceName": "AzureStorageLinkedService",
            "type": "LinkedServiceReference"
        },
        "annotations": [],
        "type": "Binary",
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "fileName": "emp.txt",
                "folderPath": "input",
                "container": "adftutorial"
            }
        }
    }
    
  5. az datafactory dataset create コマンドを使用して、InputDataset という名前の入力データセットを作成します。

    az datafactory dataset create --resource-group ADFQuickStartRG \
        --dataset-name InputDataset --factory-name ADFTutorialFactory \
        --properties @InputDataset.json
    
  6. 作業ディレクトリに、この内容の JSON ファイルを OutputDataset.json という名前で作成します。

    {
        "linkedServiceName": {
            "referenceName": "AzureStorageLinkedService",
            "type": "LinkedServiceReference"
        },
        "annotations": [],
        "type": "Binary",
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "folderPath": "output",
                "container": "adftutorial"
            }
        }
    }
    
  7. az datafactory dataset create コマンドを使用して、OutputDataset という名前の出力データセットを作成します。

    az datafactory dataset create --resource-group ADFQuickStartRG \
        --dataset-name OutputDataset --factory-name ADFTutorialFactory \
        --properties @OutputDataset.json
    

パイプラインを作成して実行する

最後に、パイプラインを作成して実行します。

  1. 作業ディレクトリに、この内容の 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": []
        }
    }
    
  2. az datafactory pipeline create コマンドを使用して、Adfv2QuickStartPipeline という名前のパイプラインを作成します。

    az datafactory pipeline create --resource-group ADFQuickStartRG \
        --factory-name ADFTutorialFactory --name Adfv2QuickStartPipeline \
        --pipeline @Adfv2QuickStartPipeline.json
    
  3. az datafactory pipeline create-run コマンドを使用してパイプラインを実行します。

    az datafactory pipeline create-run --resource-group ADFQuickStartRG \
        --name Adfv2QuickStartPipeline --factory-name ADFTutorialFactory
    

    このコマンドからは、実行 ID が返されます。 これをコピーしてください。次のコマンドで使用します。

  4. 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 コマンドを使用して削除してください。