次の方法で共有


クイック スタート: Azure CLI を使用して Azure Data Factory を作成する

このクイックスタートでは、Azure CLI を使用して Azure Data Factory を作成する方法について説明します。 このデータ ファクトリで作成したパイプラインは、あるフォルダーから Azure Blob Storage 内の別のフォルダーにデータをコピーします。 Azure Data Factory を使用してデータを変換する方法については、「Azure Data Factory でのデータの変換」を参照してください。

Azure Data Factory サービスの概要については、「 Azure Data Factory の概要」を参照してください。

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。

[前提条件]

  • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の概要」を参照してください。

  • CLI 参照コマンドをローカルで実行する場合は、Azure CLI を インストール します。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。

    • ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、「 Azure CLI を使用した Azure への認証」を参照してください。

    • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、「Azure CLI で拡張機能を使用および管理する」を参照してください。

    • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。

Data Factory インスタンスを作成するには、Azure へのサインインに使用するユーザー アカウントが、共同作成者ロールまたは所有者ロールのメンバーであるか、Azure サブスクリプションの管理者である必要があります。 詳細については、Azure のロールに関するページをご覧ください。

コンテナーとテスト ファイルを準備する

このクイック スタートでは、ファイルを含むコンテナーを含む Azure Storage アカウントを使用します。

  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 コマンドを使用して現在の作業ディレクトリを見つけることができます。 catなどの標準的な Bash コマンドを使用して、ファイルを作成できます。

    cat > emp.txt
    This is text.
    

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

  5. 新しいファイルを Azure ストレージ コンテナーにアップロードするには、 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という名前の新しいフォルダーにアップロードします。

データ ファクトリを作成する

Azure Data Factory を作成するには、 az datafactory create コマンドを実行します。

az datafactory create --resource-group ADFQuickStartRG \
    --factory-name ADFTutorialFactory

Important

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. AzureStorageLinkedService コマンドを使用して、という名前のリンクされたサービスを作成します。

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

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

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

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

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

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

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

  1. 作業ディレクトリで、 Adfv2QuickStartPipeline.jsonという名前のコンテンツを含む 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. 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 コマンドを使用して削除します。