Avvio rapido: Creare una data factory di Azure con PowerShellQuickstart: Create an Azure data factory using PowerShell

Questa guida introduttiva descrive come usare PowerShell per creare una data factory di Azure.This quickstart describes how to use PowerShell 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.

Nota

Questo articolo non offre una presentazione dettagliata del servizio Data Factory. Per un'introduzione al servizio Azure Data Factory, vedere Introduzione ad Azure Data Factory.

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.

Ruoli di AzureAzure roles

Per creare istanze di Data Factory, l'account utente usato per accedere ad Azure deve essere un membro del ruolo collaboratore o proprietario oppure un amministratore della sottoscrizione di Azure.To create Data Factory instances, the user account that you use to sign in to Azure must be a member of the contributor or owner role, or an administrator of the Azure subscription. Per visualizzare le autorizzazioni disponibili nella sottoscrizione, nel portale di Azure selezionare il nome utente nell'angolo in alto a destra e quindi selezionare Autorizzazioni.To view the permissions that you have in the subscription, in the Azure portal, select your username in the upper-right corner, and then select Permissions. Se si accede a più sottoscrizioni, selezionare quella appropriata.If you have access to multiple subscriptions, select the appropriate subscription.

Per creare e gestire le risorse figlio per Data Factory, inclusi i set di dati, i servizi collegati, le pipeline, i trigger e i runtime di integrazione, sono applicabili i requisiti seguenti:To create and manage child resources for Data Factory - including datasets, linked services, pipelines, triggers, and integration runtimes - the following requirements are applicable:

  • Per creare e gestire le risorse figlio nel portale di Azure, è necessario appartenere al ruolo Collaboratore Data Factory a livello di gruppo di risorse o superiore.To create and manage child resources in the Azure portal, you must belong to the Data Factory Contributor role at the resource group level or above.
  • Per creare e gestire le risorse figlio con PowerShell o l'SDK, è sufficiente il ruolo di collaboratore a livello di risorsa o superiore.To create and manage child resources with PowerShell or the SDK, the contributor role at the resource level or above is sufficient.

Per istruzioni di esempio su come aggiungere un utente a un ruolo, vedere l'articolo Aggiungere i ruoli.For sample instructions about how to add a user to a role, see the Add roles article.

Per altre informazioni, vedere gli articoli seguenti:For more info, see the following articles:

Account di archiviazione di AzureAzure storage account

In questa guida introduttiva si usa un account di archiviazione di Azure per utilizzo generico (specificamente, di archiviazione BLOB) come archivio dati sia di origine che di destinazione.You use a general-purpose Azure storage account (specifically Blob storage) as both source and destination data stores in this quickstart. Se non si ha un account di archiviazione di Azure per utilizzo generico, vedere Creare un account di archiviazione per informazioni su come crearne uno.If you don't have a general-purpose Azure storage account, see Create a storage account to create one.

Recuperare il nome e la chiave dell'account di archiviazioneGet the storage account name and account key

Per questa guida introduttiva è necessario avere il nome e la chiave dell'account di archiviazione di Azure.You will need the name and key of your Azure storage account for this quickstart. La procedura seguente illustra i passaggi per recuperare il nome e la chiave dell'account di archiviazione:The following procedure provides steps to get the name and key of your storage account:

  1. In un Web browser passare al portale di Azure.In a web browser, go to the Azure portal. Accedere con nome utente e password di Azure.Sign in by using your Azure username and password.

  2. Selezionare Tutti i servizi nel menu a sinistra, filtrare con la parola chiave archiviazione e selezionare Account di archiviazione.Select All services on the left menu, filter with the Storage keyword, and select Storage accounts.

    Cercare un account di archiviazione

  3. Nell'elenco degli account di archiviazione filtrare, se necessario, e quindi selezionare il proprio account di archiviazione.In the list of storage accounts, filter for your storage account (if needed), and then select your storage account.

  4. Nella pagina Account di archiviazione selezionare Chiavi di accesso nel menu.On the Storage account page, select Access keys on the menu.

    Recuperare il nome e la chiave dell'account di archiviazione

  5. Copiare negli Appunti i valori delle caselle Nome account di archiviazione e key1.Copy the values for the Storage account name and key1 boxes to the clipboard. Incollarli in un blocco note o in qualsiasi altro editor e salvarli.Paste them into Notepad or any other editor and save it. Verranno usati più avanti in questa guida introduttiva.You use them later in this quickstart.

Creare la cartella e i file di inputCreate the input folder and files

In questa sezione viene creato un contenitore BLOB denominato adftutorial nell'archivio BLOB di Azure.In this section, you create a blob container named adftutorial in Azure Blob storage. Viene creata una cartella denominata input nel contenitore e viene caricato un file di esempio in tale cartella.You create a folder named input in the container, and then upload a sample file to the input folder.

  1. Nella pagina Account di archiviazione passare a Panoramica e quindi selezionare BLOB.On the Storage account page, switch to Overview, and then select Blobs.

    Selezionare l'opzione BLOB

  2. Nella pagina Servizio BLOB selezionare + Contenitore sulla barra degli strumenti.On the Blob service page, select + Container on the toolbar.

    Pulsante Aggiungi contenitore

  3. Nella finestra di dialogo Nuovo contenitore immettere adftutorial come nome e quindi fare clic su OK.In the New container dialog box, enter adftutorial for the name, and then select OK.

    Immettere il nome del contenitore

  4. Selezionare adftutorial nell'elenco di contenitori.Select adftutorial in the list of containers.

    Selezionare il contenitore

  5. Nella pagina Contenitore selezionare Carica sulla barra degli strumenti.On the Container page, select Upload on the toolbar.

    Pulsante Carica

  6. Nella pagina Carica BLOB selezionare Avanzate.On the Upload blob page, select Advanced.

    Selezionare il collegamento Avanzate

  7. Avviare il Blocco note e creare un file denominato emp.txt con il contenuto seguente.Start Notepad and create a file named emp.txt with the following content. Salvarlo nella cartella c:\ADFv2QuickStartPSH.Save it in the c:\ADFv2QuickStartPSH folder. Se non esiste ancora, creare la cartella ADFv2QuickStartPSH.Create the ADFv2QuickStartPSH folder if it does not already exist.

    John, Doe
    Jane, Doe
    
  8. Nella pagina Carica BLOB del portale di Azure cercare e selezionare il file emp.txt nella casella File.In the Azure portal, on the Upload blob page, browse to and select the emp.txt file for the Files box.

  9. Immettere il valore input nella casella Carica nella cartella.Enter input as a value for the Upload to folder box.

    Caricare le impostazioni BLOB

  10. Verificare che la cartella sia input e il file sia emp.txt e selezionare Carica.Confirm that the folder is input and the file is emp.txt, and select Upload.

    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.

  11. Chiudere la pagina Carica BLOB facendo clic su X nell'angolo.Close the Upload blob page by clicking X in the corner.

    Chiudere la pagina Carica BLOB

  12. Tenere aperta la pagina ContenitoreKeep the Container page open. perché verrà usata per verificare l'output alla fine di questa guida introduttiva.You use it to verify the output at the end of this quickstart.

Azure PowerShellAzure PowerShell

Nota

Questo articolo è stato aggiornato per usare il nuovo modulo Az di Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. È comunque possibile usare il modulo AzureRM, che continuerà a ricevere correzioni di bug almeno fino a dicembre 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Per altre informazioni sul nuovo modulo Az e sulla compatibilità di AzureRM, vedere Introduzione del nuovo modulo Az di Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Per istruzioni sull'installazione del modulo Az, vedere Installare Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Installare i moduli di Azure PowerShell più recenti seguendo le istruzioni descritte in Come installare e configurare Azure PowerShell.Install the latest Azure PowerShell modules by following instructions in How to install and configure Azure PowerShell.

Accedere a PowerShellLog in to PowerShell

  1. Avviare PowerShell nel computer.Launch PowerShell on your machine. Tenere aperto PowerShell fino alla fine di questa guida introduttiva.Keep PowerShell open until the end of this quickstart. Se si chiude e si riapre, sarà necessario eseguire di nuovo questi comandi.If you close and reopen, you need to run these commands again.

  2. Eseguire questo comando e immettere lo stesso nome utente e la stessa password di Azure usati per accedere al portale di Azure:Run the following command, and enter the same Azure user name and password that you use to sign in to the Azure portal:

    Connect-AzAccount
    
  3. Eseguire questo comando per visualizzare tutte le sottoscrizioni per l'account:Run the following command to view all the subscriptions for this account:

    Get-AzSubscription
    
  4. Se vengono visualizzate più sottoscrizioni associate all'account, eseguire il comando seguente per selezionare la sottoscrizione da usare.If you see multiple subscriptions associated with your account, run the following command to select the subscription that you want to work with. Sostituire SubscriptionId con l'ID della sottoscrizione di Azure:Replace SubscriptionId with the ID of your Azure subscription:

    Select-AzSubscription -SubscriptionId "<SubscriptionId>"
    

Creare una data factoryCreate a data factory

  1. Definire una variabile per il nome del gruppo di risorse usato in seguito nei comandi di PowerShell.Define a variable for the resource group name that you use in PowerShell commands later. Copiare il testo del comando seguente in PowerShell, specificare un nome per il gruppo di risorse di Azure tra virgolette doppie e quindi eseguire il comando.Copy the following command text to PowerShell, specify a name for the Azure resource group in double quotes, and then run the command. Ad esempio: "ADFQuickStartRG".For example: "ADFQuickStartRG".

    $resourceGroupName = "ADFQuickStartRG";
    

    Se il gruppo di risorse esiste già, potrebbe essere preferibile non sovrascriverlo.If the resource group already exists, you may not want to overwrite it. Assegnare un valore diverso alla variabile $ResourceGroupName ed eseguire di nuovo il comando.Assign a different value to the $ResourceGroupName variable and run the command again

  2. Per creare il gruppo di risorse di Azure, eseguire questo comando:To create the Azure resource group, run the following command:

    $ResGrp = New-AzResourceGroup $resourceGroupName -location 'East US'
    

    Se il gruppo di risorse esiste già, potrebbe essere preferibile non sovrascriverlo.If the resource group already exists, you may not want to overwrite it. Assegnare un valore diverso alla variabile $ResourceGroupName ed eseguire di nuovo il comando.Assign a different value to the $ResourceGroupName variable and run the command again.

  3. Definire una variabile per il nome della data factory.Define a variable for the data factory name.

    Importante

    Aggiornare il nome della data factory in modo che sia univoco a livello globale. Ad esempio, ADFTutorialFactorySP1127.

    $dataFactoryName = "ADFQuickStartFactory";
    
  4. Per creare la data factory, eseguire il cmdlet Set-AzDataFactoryV2 usando le proprietà Location e ResourceGroupName della variabile $ResGrp:To create the data factory, run the following Set-AzDataFactoryV2 cmdlet, using the Location and ResourceGroupName property from the $ResGrp variable:

    $DataFactory = Set-AzDataFactoryV2 -ResourceGroupName $ResGrp.ResourceGroupName `
        -Location $ResGrp.Location -Name $dataFactoryName
    

Tenere presente quanto segue:Note the following points:

  • È necessario specificare un nome univoco globale per l'istanza di Azure Data Factory.The name of the Azure data factory must be globally unique. Se viene visualizzato l'errore seguente, modificare il nome e riprovare.If you receive the following error, change the name and try again.

    The specified Data Factory name 'ADFv2QuickStartDataFactory' is already in use. Data Factory names must be globally unique.
    
  • Per creare istanze di Data Factory, l'account utente usato per accedere ad Azure deve essere un membro dei ruoli collaboratore o proprietario oppure un amministratore della sottoscrizione di Azure.To create Data Factory instances, the user account you use to log in to Azure must be a member of contributor or owner roles, or an administrator of the Azure subscription.

  • Per un elenco di aree di Azure in cui Data Factory è attualmente disponibile, selezionare le aree di interesse nella pagina seguente, quindi espandere Analytics per individuare Data Factory: Prodotti disponibili in base all'area.For a list of Azure regions in which Data Factory is currently available, select the regions that interest you on the following page, and then expand Analytics to locate Data Factory: Products available by region. Gli archivi dati (Archiviazione di Azure, database SQL di Azure e così via) e le risorse di calcolo (HDInsight e così via) usati dalla data factory possono trovarsi in altre aree.The data stores (Azure Storage, Azure SQL Database, etc.) and computes (HDInsight, etc.) used by data factory can be in other regions.

Creare un servizio collegatoCreate a linked service

Creare servizi collegati in una data factory per collegare gli archivi dati e i servizi di calcolo alla data factory.Create linked services in a data factory to link your data stores and compute services to the data factory. In questa guida introduttiva si crea un servizio collegato Archiviazione di Azure che viene usato come archivio sia di origine che sink.In this quickstart, you create an Azure Storage linked service that is used as both the source and sink stores. Il servizio collegato ha le informazioni di connessione usate dal servizio Data Factory in fase di esecuzione per la connessione.The linked service has the connection information that the Data Factory service uses at runtime to connect to it.

  1. Creare un file JSON denominato AzureStorageLinkedService.json nella cartella C:\ADFv2QuickStartPSH con il contenuto seguente: Se non esiste ancora, creare la cartella ADFv2QuickStartPSH.Create a JSON file named AzureStorageLinkedService.json in C:\ADFv2QuickStartPSH folder with the following content: (Create the folder ADFv2QuickStartPSH if it does not already exist.).

    Importante

    Sostituire <accountname> e <accountkey> con il nome e la chiave dell'account di archiviazione di Azure prima di salvare il file.

    {
        "name": "AzureStorageLinkedService",
        "properties": {
            "type": "AzureStorage",
            "typeProperties": {
                "connectionString": {
                    "value": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net",
                    "type": "SecureString"
                }
            }
        }
    }
    

    Se si usa Blocco note, selezionare Tutti i file per il campo Tipo file nella finestra di dialogo Salva con nome.If you are using Notepad, select All files for the Save as type filed in the Save as dialog box. In caso contrario, è possibile che venga aggiunta l'estensione .txt al file.Otherwise, it may add .txt extension to the file. Ad esempio: AzureStorageLinkedService.json.txt.For example, AzureStorageLinkedService.json.txt. Se si crea il file in Esplora file prima di aprirlo in Blocco note, è possibile che l'estensione .txt non venga visualizzata perché l'opzione Nascondi estensioni per i tipi di file conosciuti è selezionata per impostazione predefinita.If you create the file in File Explorer before opening it in Notepad, you may not see the .txt extension since the Hide extensions for known files types option is set by default. Rimuovere l'estensione .txt prima di procedere al passaggio successivo.Remove the .txt extension before proceeding to the next step.

  2. In PowerShell passare alla cartella ADFv2QuickStartPSH.In PowerShell, switch to the ADFv2QuickStartPSH folder.

    Set-Location 'C:\ADFv2QuickStartPSH'
    
  3. Eseguire il cmdlet Set-AzDataFactoryV2LinkedService per creare il servizio collegato: AzureStorageLinkedService.Run the Set-AzDataFactoryV2LinkedService cmdlet to create the linked service: AzureStorageLinkedService.

    Set-AzDataFactoryV2LinkedService -DataFactoryName $DataFactory.DataFactoryName `
        -ResourceGroupName $ResGrp.ResourceGroupName -Name "AzureStorageLinkedService" `
        -DefinitionFile ".\AzureStorageLinkedService.json"
    

    Di seguito è riportato l'output di esempio:Here is the sample output:

    LinkedServiceName : AzureStorageLinkedService
    ResourceGroupName : <resourceGroupName>
    DataFactoryName   : <dataFactoryName>
    Properties        : Microsoft.Azure.Management.DataFactory.Models.AzureStorageLinkedService
    

Creare un set di datiCreate a dataset

In questo passaggio è necessario definire un set di dati che rappresenta i dati da copiare da un'origine a un sink.In this step, you define a dataset that represents the data to copy from a source to a sink. Il set di dati è di tipo AzureBlob.The dataset is of type AzureBlob. Fa riferimento al servizio collegato Archiviazione di Azure creato nel passaggio precedente.It refers to the Azure Storage linked service you created in the previous step. Accetta un parametro per costruire la proprietà folderPath.It takes a parameter to construct the folderPath property. Per un set di dati di input, l'attività di copia nella pipeline passa il percorso di input come valore per questo parametro.For an input dataset, the copy activity in the pipeline passes the input path as a value for this parameter. Analogamente, per un set di dati di output, l'attività di copia passa il percorso di output come valore per questo parametro.Similarly, for an output dataset, the copy activity passes the output path as a value for this parameter.

  1. Creare un file JSON denominato BlobDataset.json nella cartella C:\ADFv2QuickStartPSH, con il contenuto seguente:Create a JSON file named BlobDataset.json in the C:\ADFv2QuickStartPSH folder, with the following content:

    {
        "name": "BlobDataset",
        "properties": {
            "type": "AzureBlob",
            "typeProperties": {
                "folderPath": "@{dataset().path}"
            },
            "linkedServiceName": {
                "referenceName": "AzureStorageLinkedService",
                "type": "LinkedServiceReference"
            },
            "parameters": {
                "path": {
                    "type": "String"
                }
            }
        }
    }
    
  2. Per creare il set di dati BlobDataset, eseguire il cmdlet Set-AzDataFactoryV2Dataset.To create the dataset: BlobDataset, run the Set-AzDataFactoryV2Dataset cmdlet.

    Set-AzDataFactoryV2Dataset -DataFactoryName $DataFactory.DataFactoryName `
        -ResourceGroupName $ResGrp.ResourceGroupName -Name "BlobDataset" `
        -DefinitionFile ".\BlobDataset.json"
    

    Di seguito è riportato l'output di esempio:Here is the sample output:

    DatasetName       : BlobDataset
    ResourceGroupName : <resourceGroupname>
    DataFactoryName   : <dataFactoryName>
    Structure         :
    Properties        : Microsoft.Azure.Management.DataFactory.Models.AzureBlobDataset
    

Creare una pipelineCreate a pipeline

In questa guida introduttiva si crea una pipeline con un'attività che accetta due parametri, il percorso del BLOB di input e il percorso del BLOB di output.In this quickstart, you create a pipeline with one activity that takes two parameters - input blob path and output blob path. I valori per questi parametri vengono impostati all'esecuzione/attivazione della pipeline.The values for these parameters are set when the pipeline is triggered/run. L'attività di copia usa lo stesso set di dati del BLOB creato nel passaggio precedente come input e output.The copy activity uses the same blob dataset created in the previous step as input and output. Quando il set di dati viene usato come set di dati di input, viene specificato il percorso di input.When the dataset is used as an input dataset, input path is specified. Quando il set di dati viene usato come set di dati di output, viene specificato il percorso di output.And, when the dataset is used as an output dataset, the output path is specified.

  1. Creare un file JSON denominato Adfv2QuickStartPipeline.json nella cartella C:\ADFv2QuickStartPSH, con il contenuto seguente:Create a JSON file named Adfv2QuickStartPipeline.json in the C:\ADFv2QuickStartPSH folder with the following content:

    {
        "name": "Adfv2QuickStartPipeline",
        "properties": {
            "activities": [
                {
                    "name": "CopyFromBlobToBlob",
                    "type": "Copy",
                    "inputs": [
                        {
                            "referenceName": "BlobDataset",
                            "parameters": {
                                "path": "@pipeline().parameters.inputPath"
                            },
                            "type": "DatasetReference"
                        }
                    ],
                    "outputs": [
                        {
                            "referenceName": "BlobDataset",
                            "parameters": {
                                "path": "@pipeline().parameters.outputPath"
                            },
                            "type": "DatasetReference"
                        }
                    ],
                    "typeProperties": {
                        "source": {
                            "type": "BlobSource"
                        },
                        "sink": {
                            "type": "BlobSink"
                        }
                    }
                }
            ],
            "parameters": {
                "inputPath": {
                    "type": "String"
                },
                "outputPath": {
                    "type": "String"
                }
            }
        }
    }
    
  2. Per creare la pipeline Adfv2QuickStartPipeline, eseguire il cmdlet Set-AzDataFactoryV2Pipeline.To create the pipeline: Adfv2QuickStartPipeline, Run the Set-AzDataFactoryV2Pipeline cmdlet.

    $DFPipeLine = Set-AzDataFactoryV2Pipeline `
        -DataFactoryName $DataFactory.DataFactoryName `
        -ResourceGroupName $ResGrp.ResourceGroupName `
        -Name "Adfv2QuickStartPipeline" `
        -DefinitionFile ".\Adfv2QuickStartPipeline.json"
    

Creare un'esecuzione della pipelineCreate a pipeline run

In questo passaggio impostare valori per i parametri della pipeline inputPath e outputPath con gli effettivi valori dei percorsi dei BLOB di origine e sink.In this step, you set values for the pipeline parameters: inputPath and outputPath with actual values of source and sink blob paths. È quindi possibile creare un'esecuzione della pipeline usando questi argomenti.Then, you create a pipeline run by using these arguments.

  1. Creare un file JSON denominato PipelineParameters.json nella cartella C:\ADFv2QuickStartPSH, con il contenuto seguente:Create a JSON file named PipelineParameters.json in the C:\ADFv2QuickStartPSH folder with the following content:

    {
        "inputPath": "adftutorial/input",
        "outputPath": "adftutorial/output"
    }
    
  2. Eseguire il cmdlet Invoke-AzDataFactoryV2Pipeline per creare un'esecuzione della pipeline e passare i valori di parametro.Run the Invoke-AzDataFactoryV2Pipeline cmdlet to create a pipeline run and pass in the parameter values. Il cmdlet restituisce l'ID di esecuzione della pipeline per il monitoraggio futuro.The cmdlet returns the pipeline run ID for future monitoring.

    $RunId = Invoke-AzDataFactoryV2Pipeline `
        -DataFactoryName $DataFactory.DataFactoryName `
        -ResourceGroupName $ResGrp.ResourceGroupName `
        -PipelineName $DFPipeLine.Name `
        -ParameterFile .\PipelineParameters.json
    

Monitorare l'esecuzione della pipelineMonitor the pipeline run

  1. Eseguire lo script di PowerShell seguente per verificare continuamente lo stato di esecuzione della pipeline fino al termine della copia dei dati.Run the following PowerShell script to continuously check the pipeline run status until it finishes copying the data. Copiare/Incollare lo script seguente nella finestra di PowerShell e premere INVIO.Copy/paste the following script in the PowerShell window, and press ENTER.

    while ($True) {
        $Run = Get-AzDataFactoryV2PipelineRun `
            -ResourceGroupName $ResGrp.ResourceGroupName `
            -DataFactoryName $DataFactory.DataFactoryName `
            -PipelineRunId $RunId
    
        if ($Run) {
            if ($run.Status -ne 'InProgress') {
                Write-Output ("Pipeline run finished. The status is: " +  $Run.Status)
                $Run
                break
            }
            Write-Output "Pipeline is running...status: InProgress"
        }
    
        Start-Sleep -Seconds 10
    }
    

    Ecco l'output di esempio dell'esecuzione della pipeline:Here is the sample output of pipeline run:

    Pipeline is running...status: InProgress
    Pipeline run finished. The status is:  Succeeded
    
    ResourceGroupName : ADFTutorialResourceGroup
    DataFactoryName   : SPTestFactory0928
    RunId             : 0000000000-0000-0000-0000-0000000000000
    PipelineName      : Adfv2QuickStartPipeline
    LastUpdated       : 9/28/2017 8:28:38 PM
    Parameters        : {[inputPath, adftutorial/input], [outputPath, adftutorial/output]}
    RunStart          : 9/28/2017 8:28:14 PM
    RunEnd            : 9/28/2017 8:28:38 PM
    DurationInMs      : 24151
    Status            : Succeeded
    Message           :
    

    Potrebbe essere visualizzato il messaggio di errore seguente:You might see the following error:

    Activity CopyFromBlobToBlob failed: Failed to detect region of linked service 'AzureStorage' : 'AzureStorageLinkedService' with error '[Region Resolver] Azure Storage failed to get address for DNS. Warning: System.Net.Sockets.SocketException (0x80004005): No such host is known
    

    In questo caso, eseguire la procedura seguente:If you see the error, perform the following steps:

    1. In AzureStorageLinkedService.json verificare che il nome e la chiave dell'account di archiviazione di Azure siano corretti.In the AzureStorageLinkedService.json, confirm that the name and key of your Azure Storage Account are correct.

    2. Verificare che il formato della stringa di connessione sia corretto.Verify that the format of the connection string is correct. Le proprietà AccountName e AccountKey, ad esempio, sono separate dal carattere di punto e virgola (;).The properties, for example, AccountName and AccountKey are separated by semi-colon (;) character.

    3. Se il nome account e la chiave dell'account sono racchiusi tra parentesi angolari, rimuoverle.If you have angled brackets surrounding the account name and account key, remove them.

    4. Ecco una stringa di connessione di esempio:Here is an example connection string:

      "connectionString": {
          "value": "DefaultEndpointsProtocol=https;AccountName=mystorageaccountname;AccountKey=mystorageaccountkey;EndpointSuffix=core.windows.net",
          "type": "SecureString"
      }
      
    5. Creare di nuovo il servizio collegato seguendo i passaggi della sezione Creare un servizio collegato.Recreate the linked service by following steps in the Create a linked service section.

    6. Eseguire di nuovo la pipeline seguendo i passaggi della sezione Creare un'esecuzione della pipeline.Rerun the pipeline by following steps in the Create a pipeline run section.

    7. Eseguire di nuovo il comando di monitoraggio corrente per monitorare la nuova esecuzione della pipeline.Run the current monitoring command again to monitor the new pipeline run.

  2. Eseguire lo script seguente per recuperare i dettagli sull'esecuzione dell'attività di copia, ad esempio le dimensioni dei dati letti/scritti.Run the following script to retrieve copy activity run details, for example, size of the data read/written.

    Write-Output "Activity run details:"
    $Result = Get-AzDataFactoryV2ActivityRun -DataFactoryName $DataFactory.DataFactoryName -ResourceGroupName $ResGrp.ResourceGroupName -PipelineRunId $RunId -RunStartedAfter (Get-Date).AddMinutes(-30) -RunStartedBefore (Get-Date).AddMinutes(30)
    $Result
    
    Write-Output "Activity 'Output' section:"
    $Result.Output -join "`r`n"
    
    Write-Output "Activity 'Error' section:"
    $Result.Error -join "`r`n"
    
  3. Assicurarsi di visualizzare un output simile all'output di esempio seguente come risultato dell'esecuzione dell'attività:Confirm that you see the output similar to the following sample output of activity run result:

    ResourceGroupName : ADFTutorialResourceGroup
    DataFactoryName   : SPTestFactory0928
    ActivityName      : CopyFromBlobToBlob
    PipelineRunId     : 00000000000-0000-0000-0000-000000000000
    PipelineName      : Adfv2QuickStartPipeline
    Input             : {source, sink}
    Output            : {dataRead, dataWritten, copyDuration, throughput...}
    LinkedServiceName :
    ActivityRunStart  : 9/28/2017 8:28:18 PM
    ActivityRunEnd    : 9/28/2017 8:28:36 PM
    DurationInMs      : 18095
    Status            : Succeeded
    Error             : {errorCode, message, failureType, target}
    
    Activity 'Output' section:
    "dataRead": 38
    "dataWritten": 38
    "copyDuration": 7
    "throughput": 0.01
    "errors": []
    "effectiveIntegrationRuntime": "DefaultIntegrationRuntime (West US)"
    "usedDataIntegrationUnits": 2
    "billedDuration": 14
    

Verificare l'outputVerify the output

La pipeline crea automaticamente la cartella di output nel contenitore BLOB adftutorial,The pipeline automatically creates the output folder in the adftutorial 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 del contenitore adftutorial del portale di Azure fare clic su Aggiorna per visualizzare la cartella di output.In the Azure portal, on the adftutorial container page, click Refresh to see the output folder.

    Aggiorna

  2. Fare clic su output nell'elenco di cartelle.Click 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.

    Aggiorna

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. Si può eliminare il gruppo di risorse di Azure, in modo da includere 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

Nota: l'eliminazione di un gruppo di risorse può richiedere tempo.Note: dropping a resource group may take some time. Attendere il completamento del processo.Please be patient with the process

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

Remove-AzDataFactoryV2 -Name $dataFactoryName -ResourceGroupName $resourceGroupName

Passaggi successiviNext steps

La pipeline in questo esempio copia i dati da una posizione a un'altra in un archivio BLOB di Azure.The pipeline in this sample copies data from one location to another location in an Azure blob storage. Per informazioni sull'uso di Data Factory in più scenari, fare riferimento alle esercitazioni.Go through the tutorials to learn about using Data Factory in more scenarios.