Avvio rapido: Creare un'istanza di Azure Data Factory con un modello di Azure Resource ManagerQuickstart: Create an Azure Data Factory using ARM template

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Questo argomento di avvio rapido descrive come usare un modello di Azure Resource Manager (ARM) per creare un'istanza di Azure Data Factory.This quickstart describes how to use an Azure Resource Manager template (ARM template) to create an Azure data factory. La pipeline creata in questa data factory copia dati da una cartella a un'altra in un archivio BLOB di Azure.The pipeline you create in this data factory copies data from one folder to another folder in an Azure blob storage. Per un'esercitazione su come trasformare dati usando Azure Data Factory, vedere Esercitazione: Trasformare i dati con Spark.For a tutorial on how to transform data using Azure Data Factory, see Tutorial: Transform data using Spark.

Un modello di Resource Manager è un file JSON (JavaScript Object Notation) che definisce l'infrastruttura e la configurazione del progetto.An ARM template is a JavaScript Object Notation (JSON) file that defines the infrastructure and configuration for your project. Il modello usa la sintassi dichiarativa.The template uses declarative syntax. Nella sintassi dichiarativa si descrive la distribuzione prevista senza scrivere la sequenza di comandi di programmazione necessari per creare la distribuzione.In declarative syntax, you describe your intended deployment without writing the sequence of programming commands to create the deployment.

Nota

Questo articolo non offre una presentazione dettagliata del servizio Data Factory.This article does not provide a detailed introduction of the Data Factory service. Per un'introduzione al servizio Azure Data Factory, vedere Introduzione ad Azure Data Factory.For an introduction to the Azure Data Factory service, see Introduction to Azure Data Factory.

Se l'ambiente soddisfa i prerequisiti e si ha familiarità con l'uso dei modelli di Resource Manager, selezionare il pulsante Distribuisci in Azure.If your environment meets the prerequisites and you're familiar with using ARM templates, select the Deploy to Azure button. Il modello verrà aperto nel portale di Azure.The template will open in the Azure portal.

Distribuzione in AzureDeploy to Azure

PrerequisitiPrerequisites

Sottoscrizione di AzureAzure subscription

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.If you don't have an Azure subscription, create a free account before you begin.

Creare un fileCreate a file

Aprire un editor di testo come il Blocco note e creare un file denominato emp.txt con il contenuto seguente:Open a text editor such as Notepad, and create a file named emp.txt with the following content:

John, Doe
Jane, Doe

Salvare il file nella cartella C:\ADFv2QuickStartPSH.Save the file in the C:\ADFv2QuickStartPSH folder. Se la cartella non esiste, crearla.(If the folder doesn't already exist, create it.)

Rivedere il modelloReview template

Il modello usato in questo avvio rapido proviene dai modelli di avvio rapido di Azure.The template used in this quickstart is from Azure Quickstart Templates.

{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "dataFactoryName": {
      "type": "string",
      "defaultValue": "[concat('datafactory', uniqueString(resourceGroup().id))]",
      "metadata": {
        "description": "Data Factory Name"
      }
    },
    "location": {
      "type": "string",
      "defaultValue": "[resourceGroup().location]",
      "metadata": {
        "description": "Location of the data factory. Currently, only East US, East US 2, and West Europe are supported."
      }
    },
    "storageAccountName": {
      "type": "string",
      "defaultValue": "[concat('storage', uniqueString(resourceGroup().id))]",
      "metadata": {
        "description": "Name of the Azure storage account that contains the input/output data."
      }
    },
    "blobContainer": {
      "type": "string",
      "defaultValue": "[concat('blob', uniqueString(resourceGroup().id))]",
      "metadata": {
        "description": "Name of the blob container in the Azure Storage account."
      }
    }
  },
  "variables": {
    "storageAccountId": "[resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))]",
    "storageLinkedService": "[resourceId('Microsoft.DataFactory/factories/linkedServices', parameters('dataFactoryName'), 'armTemplateStorageLinkedService')]",
    "datasetIn": "[resourceId('Microsoft.DataFactory/factories/datasets', parameters('dataFactoryName'), 'armTemplateTestDatasetIn')]",
    "datasetOut": "[resourceId('Microsoft.DataFactory/factories/datasets', parameters('dataFactoryName'), 'armTemplateTestDatasetOut')]"
  },
  "resources": [
    {
      "type": "Microsoft.Storage/storageAccounts",
      "apiVersion": "2019-06-01",
      "name": "[parameters('storageAccountName')]",
      "location": "[parameters('location')]",
      "sku": {
        "name": "Standard_LRS"
      },
      "kind": "StorageV2",
      "properties": {},
      "resources": [
        {
          "type": "blobServices/containers",
          "apiVersion": "2019-06-01",
          "name": "[concat('default/', parameters('blobContainer'))]",
          "dependsOn": [
            "[parameters('storageAccountName')]"
          ]
        }
      ]
    },
    {
      "type": "Microsoft.DataFactory/factories",
      "apiVersion": "2018-06-01",
      "name": "[parameters('dataFactoryName')]",
      "location": "[parameters('location')]",
      "properties": {},
      "identity": {
        "type": "SystemAssigned"
      },
      "resources": [
        {
          "type": "Microsoft.DataFactory/factories/linkedServices",
          "apiVersion": "2018-06-01",
          "name": "[concat(parameters('dataFactoryName'), '/ArmtemplateStorageLinkedService')]",
          "location": "[parameters('location')]",
          "dependsOn": [
            "[parameters('dataFactoryName')]",
            "[parameters('storageAccountName')]"
          ],
          "properties": {
            "type": "AzureBlobStorage",
            "typeProperties": {
              "connectionString": "[concat('DefaultEndpointsProtocol=https;AccountName=',parameters('storageAccountName'),';AccountKey=',listKeys(variables('storageAccountId'), '2019-06-01').keys[0].value)]"
            }
          }
        },
        {
          "type": "Microsoft.DataFactory/factories/datasets",
          "apiVersion": "2018-06-01",
          "name": "[concat(parameters('dataFactoryName'), '/ArmtemplateTestDatasetIn')]",
          "location": "[parameters('location')]",
          "dependsOn": [
            "[parameters('dataFactoryName')]",
            "[variables('storageLinkedService')]"
          ],
          "properties": {
            "linkedServiceName": {
              "referenceName": "ArmtemplateStorageLinkedService",
              "type": "LinkedServiceReference"
            },
            "type": "Binary",
            "typeProperties": {
              "location": {
                "type": "AzureBlobStorageLocation",
                "container": "[parameters('blobContainer')]",
                "folderPath": "input",
                "fileName": "emp.txt"
              }
            }
          }
        },
        {
          "type": "Microsoft.DataFactory/factories/datasets",
          "apiVersion": "2018-06-01",
          "name": "[concat(parameters('dataFactoryName'), '/ArmtemplateTestDatasetOut')]",
          "location": "[parameters('location')]",
          "dependsOn": [
            "[parameters('dataFactoryName')]",
            "[variables('storageLinkedService')]"
          ],
          "properties": {
            "linkedServiceName": {
              "referenceName": "ArmtemplateStorageLinkedService",
              "type": "LinkedServiceReference"
            },
            "type": "Binary",
            "typeProperties": {
              "location": {
                "type": "AzureBlobStorageLocation",
                "container": "[parameters('blobContainer')]",
                "folderPath": "output"
              }
            }
          }
        },
        {
          "type": "Microsoft.DataFactory/factories/pipelines",
          "apiVersion": "2018-06-01",
          "name": "[concat(parameters('dataFactoryName'), '/ArmtemplateSampleCopyPipeline')]",
          "location": "[parameters('location')]",
          "dependsOn": [
            "[parameters('dataFactoryName')]",
            "[variables('datasetIn')]",
            "[variables('datasetOut')]"
          ],
          "properties": {
            "activities": [
              {
                "name": "MyCopyActivity",
                "type": "Copy",
                "policy": {
                  "timeout": "7.00:00:00",
                  "retry": 0,
                  "retryIntervalInSeconds": 30,
                  "secureOutput": false,
                  "secureInput": false
                },
                "typeProperties": {
                  "source": {
                    "type": "BinarySource",
                    "storeSettings": {
                      "type": "AzureBlobStorageReadSettings",
                      "recursive": true
                    }
                  },
                  "sink": {
                    "type": "BinarySink",
                    "storeSettings": {
                      "type": "AzureBlobStorageWriteSettings"
                    }
                  },
                  "enableStaging": false
                },
                "inputs": [
                  {
                    "referenceName": "ArmtemplateTestDatasetIn",
                    "type": "DatasetReference",
                    "parameters": {
                    }
                  }
                ],
                "outputs": [
                  {
                    "referenceName": "ArmtemplateTestDatasetOut",
                    "type": "DatasetReference",
                    "parameters": {}
                  }
                ]
              }
            ]
          }
        }
      ]
    }
  ]
}

Nel modello sono definite risorse di Azure:There are Azure resources defined in the template:

Altri esempi di modelli di Azure Data Factory sono disponibili nella raccolta di modelli di avvio rapido.More Azure Data Factory template samples can be found in the quickstart template gallery.

Distribuire il modelloDeploy the template

  1. Selezionare l'immagine seguente per accedere ad Azure e aprire un modello.Select the following image to sign in to Azure and open a template. Il modello crea un account Azure Data Factory, un account di archiviazione e un contenitore BLOB.The template creates an Azure Data Factory account, a storage account, and a blob container.

    Distribuzione in AzureDeploy to Azure

  2. Selezionare o immettere i valori seguenti.Select or enter the following values.

    Distribuire un modello di Azure Resource Manager per Azure Data Factory

    Se non specificati, usare i valori predefiniti per creare le risorse di Azure Data Factory:Unless it's specified, use the default values to create the Azure Data Factory resources:

    • Sottoscrizione Selezionare una sottoscrizione di Azure.Subscription: Select an Azure subscription.
    • Gruppo di risorse: selezionare Crea nuovo, immettere un nome univoco per il gruppo di risorse e quindi scegliere OK.Resource group: Select Create new, enter a unique name for the resource group, and then select OK.
    • Area: Selezionare una località.Region: Select a location. Ad esempio Stati Uniti orientali.For example, East US.
    • Nome data factory: usare il valore predefinito.Data Factory Name: Use default value.
    • Località: usare il valore predefinito.Location: Use default value.
    • Nome dell'account di archiviazione: usare il valore predefinito.Storage Account Name: Use default value.
    • Contenitore BLOB: usare il valore predefinito.Blob Container: Use default value.

Esaminare le risorse distribuiteReview deployed resources

  1. Selezionare Vai al gruppo di risorse.Select Go to resource group.

    Gruppo di risorse

  2. Verificare che venga creata l'istanza di Azure Data Factory.Verify your Azure Data Factory is created.

    1. Il nome dell'istanza di Azure Data Factory è nel formato - datafactory<uniqueid>.Your Azure Data Factory name is in the format - datafactory<uniqueid>.

    Data factory di esempio

  3. Verificare che venga creato un account di archiviazione.Verify your storage account is created.

    1. Il nome dell'account di archiviazione è nel formato - storage<uniqueid>.The storage account name is in the format - storage<uniqueid>.

    Storage Account

  4. Selezionare l'account di archiviazione creato e quindi selezionare Contenitori.Select the storage account created and then select Containers.

    1. Nella pagina Contenitori selezionare il contenitore BLOB creato.On the Containers page, select the blob container you created.
      1. Il nome del contenitore BLOB è nel formato - blob<uniqueid>.The blob container name is in the format - blob<uniqueid>.

    Contenitore BLOB

Caricare un fileUpload a file

  1. Nella pagina Contenitori selezionare Carica.On the Containers page, select Upload.

  2. Nel riquadro destro selezionare la casella File e quindi individuare e selezionare il file emp.txt creato in precedenza.In te right pane, select the Files box, and then browse to and select the emp.txt file that you created earlier.

  3. Espandere l'intestazione Avanzate.Expand the Advanced heading.

  4. Nella casella Carica nella cartella immettere input.In the Upload to folder box, enter input.

  5. Selezionare il pulsante Carica.Select the Upload button. Verranno visualizzati il file emp.txt e lo stato del caricamento nell'elenco.You should see the emp.txt file and the status of the upload in the list.

  6. Selezionare l'icona Chiudi (una X) per chiudere la pagina Carica BLOB.Select the Close icon (an X) to close the Upload blob page.

    Caricare il file nella cartella di input

Lasciare aperta la pagina del contenitore perché è possibile usarla per verificare l'output alla fine di questo argomento di avvio rapido.Keep the container page open, because you can use it to verify the output at the end of this quickstart.

Avviare il triggerStart Trigger

  1. Passare alla pagina Data factory e selezionare la data factory creata.Navigate to the Data factories page, and select the data factory you created.

  2. Selezionare il riquadro Crea e monitora.Select the Author & Monitor tile.

    Crea e monitora

  3. Selezionare la scheda Autore .

  4. Selezionare la pipeline creata: ArmtemplateSampleCopyPipeline.Select the pipeline created - ArmtemplateSampleCopyPipeline.

    Pipeline del modello di Azure Resource Manager

  5. Selezionare Aggiungi trigger > Trigger Now (Attiva adesso).Select Add Trigger > Trigger Now.

    Trigger

  6. Nel riquadro destro in Pipeline run (Esecuzione pipeline) scegliere OK.In the right pane under Pipeline run, select OK.

Monitorare la pipelineMonitor the pipeline

  1. Selezionare la scheda Monitoraggio .

  2. Vengono visualizzate le esecuzioni di attività associate all'esecuzione della pipeline.You see the activity runs associated with the pipeline run. In questa guida introduttiva la pipeline ha solo un'attività di tipo copia.In this quickstart, the pipeline has only one activity of type: Copy. Viene pertanto visualizzata un'esecuzione per tale attività.As such, you see a run for that activity.

    Esecuzione riuscita

Verificare il file di outputVerify the output file

La pipeline crea automaticamente una cartella di output nel contenitore BLOB.The pipeline automatically creates an output folder in the blob container. quindi copia il file emp.txt dalla cartella di input a quella di output.Then, it copies the emp.txt file from the input folder to the output folder.

  1. Nella pagina Contenitori nel portale di Azure selezionare Aggiorna per visualizzare la cartella di output.In the Azure portal, on the Containers page, select Refresh to see the output folder.

  2. Nell'elenco delle cartelle selezionare output.Select output in the folder list.

  3. Verificare che emp.txt venga copiato nella cartella di output.Confirm that the emp.txt is copied to the output folder.

    Output

Pulire le risorseClean up resources

È possibile eseguire la pulizia delle risorse create nel corso della guida introduttiva in due modi.You can clean up the resources that you created in the Quickstart in two ways. È possibile eliminare il gruppo di risorse di Azure, che include tutte le risorse del gruppo.You can delete the Azure resource group, which includes all the resources in the resource group. Se invece si vogliono mantenere intatte le altre risorse, eliminare solo la data factory creata in questa esercitazione.If you want to keep the other resources intact, delete only the data factory you created in this tutorial.

Se si elimina un gruppo di risorse, vengono eliminate tutte le risorse in esso contenute, incluse le data factory.Deleting a resource group deletes all resources including data factories in it. Eseguire il comando seguente per eliminare l'intero gruppo di risorse:Run the following command to delete the entire resource group:

Remove-AzResourceGroup -ResourceGroupName $resourcegroupname

Per eliminare solo la data factory e non l'intero gruppo di risorse, eseguire questo comando:If you want to delete just the data factory, and not the entire resource group, run the following command:

Remove-AzDataFactoryV2 -Name $dataFactoryName -ResourceGroupName $resourceGroupName

Passaggi successiviNext steps

In questo argomento di avvio rapido è stata creata un'istanza di Azure Data Factory usando un modello di Azure Resource Manager ed è stata convalidata la distribuzione.In this quickstart, you created an Azure Data Factory using an ARM template and validated the deployment. Per altre informazioni su Azure Data Factory e Azure Resource Manager, continuare con gli articoli seguenti.To learn more about Azure Data Factory and Azure Resource Manager, continue on to the articles below.