Udostępnij za pośrednictwem


Zbiorcze kopiowanie wielu tabel przy użyciu usługi Azure Data Factory przy użyciu programu PowerShell

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

W tym samouczku pokazano kopiowanie wielu tabel z usługi Azure SQL Database do usługi Azure Synapse Analytics. Tego samego wzorca można użyć także w innych scenariuszach kopiowania. Na przykład kopiowanie tabel z programu SQL Server/Oracle do usługi Azure SQL Database/Data Warehouse/Azure Blob, kopiowanie różnych ścieżek z obiektów blob do tabeli bazy danych Azure SQL Database.

Na poziomie ogólnym ten samouczek obejmuje następujące kroki:

  • Tworzenie fabryki danych.
  • Tworzenie połączonych usług Azure SQL Database, Azure Synapse Analytics i Azure Storage.
  • Tworzenie zestawów danych usługi Azure SQL Database i Azure Synapse Analytics.
  • Tworzenie potoku w celu wyszukania tabel do skopiowania i innego potoku w celu wykonania samej operacji kopiowania.
  • Uruchom potok.
  • Monitorowanie uruchomień potoku i działań.

W tym samouczku jest używany program Azure PowerShell. Aby dowiedzieć się więcej o zastosowaniu innych narzędzi/zestawów SDK do tworzenia fabryki danych, zapoznaj się z przewodnikami Szybki start.

Kompletny przepływ pracy

W tym scenariuszu mamy kilka tabel w usłudze Azure SQL Database, które chcemy skopiować do usługi Azure Synapse Analytics. Oto sekwencja logiczna kroków przepływu pracy, który następuje w potokach:

Przepływ pracy

  • Pierwszy potok wyszukuje listę tabel, które należy skopiować do magazynów danych ujścia. Alternatywnie można utrzymywać tabelę metadanych, która zawiera listę wszystkich tabel do skopiowania do magazynu danych ujścia. Następnie potok wywołuje inny potok, który działa na wszystkich tabelach w bazie danych i wykonuje operację kopiowania danych.
  • Drugi potok przeprowadza rzeczywiste kopiowanie. Pobiera listę tabel jako parametr. Dla każdej tabeli na liście skopiuj określoną tabelę w usłudze Azure SQL Database do odpowiedniej tabeli w usłudze Azure Synapse Analytics przy użyciu kopii etapowej za pośrednictwem usługi Blob Storage i technologii PolyBase , aby uzyskać najlepszą wydajność. W tym przykładzie pierwszy potok przekazuje listę tabel jako wartość parametru.

Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Wymagania wstępne

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Aby rozpocząć, zobacz Instalowanie programu Azure PowerShell. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

  • Azure PowerShell. Wykonaj instrukcje podane w temacie Instalowanie i konfigurowanie programu Azure PowerShell.
  • Konto usługi Azure Storage. Konto usługi Azure Storage jest używane jako przejściowy magazyn obiektów blob w operacji kopiowania zbiorczego.
  • Usługa Azure SQL Database. Ta baza danych zawiera dane źródłowe.
  • Azure Synapse Analytics. Ten magazyn danych służy do przechowywania danych skopiowanych z bazy SQL Database.

Przygotowywanie usługi SQL Database i Azure Synapse Analytics

Przygotowywanie źródłowej bazy Azure SQL Database:

Utwórz bazę danych z przykładowymi danymi Adventure Works LT w usłudze SQL Database, postępując zgodnie z artykułem Tworzenie bazy danych w usłudze Azure SQL Database . Ten samouczek kopiuje wszystkie tabele z tej przykładowej bazy danych do usługi Azure Synapse Analytics.

Przygotowywanie ujścia usługi Azure Synapse Analytics:

  1. Jeśli nie masz obszaru roboczego usługi Azure Synapse Analytics, zobacz artykuł Rozpoczynanie pracy z usługą Azure Synapse Analytics , aby uzyskać instrukcje tworzenia.

  2. Utwórz odpowiednie schematy tabel w usłudze Azure Synapse Analytics. Usługa Azure Data Factory służy do migrowania/kopiowania danych na późniejszym etapie.

Usługi platformy Azure umożliwiające dostęp do serwera SQL

W przypadku usług SQL Database i Azure Synapse Analytics zezwól usługom platformy Azure na dostęp do serwera SQL. Upewnij się, że ustawienie Zezwalaj na dostęp do usług platformy Azure jest włączone dla serwera. To ustawienie umożliwia usłudze Data Factory odczytywanie danych z usługi Azure SQL Database i zapisywanie danych w usłudze Azure Synapse Analytics. W celu sprawdzenia i włączenia tego ustawienia wykonaj następujące kroki:

  1. Kliknij pozycję Wszystkie usługi po lewej stronie, a następnie kliknij pozycję Serwery SQL.
  2. Wybierz swój serwer, a następnie kliknij przycisk Zapora w obszarze USTAWIENIA.
  3. Na stronie Ustawienia zapory kliknij pozycję WŁĄCZ dla ustawienia Zezwalaj na dostęp do usług platformy Azure.

Tworzenie fabryki danych

  1. Uruchom program PowerShell. Nie zamykaj programu Azure PowerShell, zanim nie wykonasz wszystkich instrukcji z tego samouczka. Jeśli go zamkniesz i otworzysz ponownie, musisz uruchomić te polecenia jeszcze raz.

    Uruchom poniższe polecenie i wprowadź nazwę użytkownika oraz hasło, których używasz do logowania się w witrynie Azure Portal:

    Connect-AzAccount
    

    Uruchom poniższe polecenie, aby wyświetlić wszystkie subskrypcje dla tego konta:

    Get-AzSubscription
    

    Uruchom poniższe polecenie, aby wybrać subskrypcję, z którą chcesz pracować. Zastąp parametr SubscriptionId identyfikatorem Twojej subskrypcji platformy Azure:

    Select-AzSubscription -SubscriptionId "<SubscriptionId>"
    
  2. Uruchom polecenie cmdlet Set-AzDataFactoryV2, aby utworzyć fabrykę danych. Przed uruchomieniem polecenia zastąp symbole zastępcze własnymi wartościami.

    $resourceGroupName = "<your resource group to create the factory>"
    $dataFactoryName = "<specify the name of data factory to create. It must be globally unique.>"
    Set-AzDataFactoryV2 -ResourceGroupName $resourceGroupName -Location "East US" -Name $dataFactoryName
    

    Należy uwzględnić następujące informacje:

    • Nazwa fabryki danych platformy Azure musi być globalnie unikatowa. Jeśli zostanie wyświetlony następujący błąd, zmień nazwę i spróbuj ponownie.

      The specified Data Factory name 'ADFv2QuickStartDataFactory' is already in use. Data Factory names must be globally unique.
      
    • Aby tworzyć wystąpienia usługi Data Factory, musisz być współautorem lub administratorem subskrypcji platformy Azure.

    • Aby uzyskać listę regionów platformy Azure, w których obecnie jest dostępna usługa Data Factory, wybierz dane regiony na poniższej stronie, a następnie rozwiń węzeł Analiza, aby zlokalizować pozycję Data Factory: Produkty dostępne według regionu. Magazyny danych (Azure Storage, Azure SQL Database itp.) i jednostki obliczeniowe (HDInsight itp.) używane przez fabrykę danych mogą mieścić się w innych regionach.

Tworzenie połączonych usług

W tym samouczku utworzysz trzy połączone usługi dla źródłowego, ujściowego i przejściowego magazynu obiektów blob, co obejmuje połączenia z magazynami danych:

Tworzenie źródłowej połączonej usługi Azure SQL Database

  1. Utwórz plik JSON o nazwie AzureSQLDatabaseLinkedService.json w folderze C:\ADFv2TutorialBulkCopy o następującej zawartości: (utwórz folder ADFv2TutorialBulkCopy, jeśli jeszcze nie istnieje).

    Ważne

    Przed zapisaniem pliku zastąp ciąg <servername>, <databasename>, <username>@<servername> i <password> wartościami usługi Azure SQL Database.

    {
        "name": "AzureSqlDatabaseLinkedService",
        "properties": {
            "type": "AzureSqlDatabase",
            "typeProperties": {
                "connectionString": "Server=tcp:<servername>.database.windows.net,1433;Database=<databasename>;User ID=<username>@<servername>;Password=<password>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30"
            }
        }
    }
    
  2. W programie Azure PowerShell przejdź do folderu ADFv2TutorialBulkCopy.

  3. Uruchom polecenie cmdlet Set-AzDataFactoryV2LinkedService, aby utworzyć połączoną usługę: AzureSqlDatabaseLinkedService.

    Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "AzureSqlDatabaseLinkedService" -File ".\AzureSqlDatabaseLinkedService.json"
    

    Oto przykładowe dane wyjściowe:

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

Tworzenie połączonej usługi Azure Synapse Analytics ujścia

  1. W folderze C:\ADFv2TutorialBulkCopy utwórz plik JSON o nazwie AzureSqlDWLinkedService.json z następującą zawartością:

    Ważne

    Przed zapisaniem pliku zastąp ciąg <servername>, <databasename>, <username>@<servername> i <password> wartościami usługi Azure SQL Database.

    {
        "name": "AzureSqlDWLinkedService",
        "properties": {
            "type": "AzureSqlDW",
            "typeProperties": {
                "connectionString": "Server=tcp:<servername>.database.windows.net,1433;Database=<databasename>;User ID=<username>@<servername>;Password=<password>;Trusted_Connection=False;Encrypt=True;Connection Timeout=30"
            }
        }
    }
    
  2. Aby utworzyć połączoną usługę: AzureSqlDWLinkedService, uruchom polecenie cmdlet Set-AzDataFactoryV2LinkedService .

    Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "AzureSqlDWLinkedService" -File ".\AzureSqlDWLinkedService.json"
    

    Oto przykładowe dane wyjściowe:

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

Tworzenie przejściowej połączonej usługi Azure Storage

W tym samouczku magazyn obiektów blob platformy Azure służy jako obszar przejściowy, pozwalający na włączenie programu PolyBase w celu podniesienia wydajności kopiowania.

  1. W folderze C:\ADFv2TutorialBulkCopy utwórz plik JSON o nazwie AzureStorageLinkedService.json z następującą zawartością:

    Ważne

    Przed zapisaniem pliku zastąp wartości <accountName> i <accountKey> nazwą i kluczem konta usługi Azure Storage.

    {
        "name": "AzureStorageLinkedService",
        "properties": {
            "type": "AzureStorage",
            "typeProperties": {
                "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>"
            }
        }
    }
    
  2. Aby utworzyć połączoną usługę: AzureStorageLinkedService, uruchom polecenie cmdlet Set-AzDataFactoryV2LinkedService .

    Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "AzureStorageLinkedService" -File ".\AzureStorageLinkedService.json"
    

    Oto przykładowe dane wyjściowe:

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

Tworzenie zestawów danych

W tym samouczku utworzysz zestawy danych źródła i ujścia, określające lokalizację przechowywania danych:

Tworzenie zestawu danych źródłowej bazy danych SQL Database

  1. W folderze C:\ADFv2TutorialBulkCopy utwórz plik JSON o nazwie AzureSqlDatabaseDataset.json z następującą zawartością. Nazwa „tableName” to nazwa tymczasowa, ponieważ w późniejszym czasie do pobierania danych używane jest zapytanie SQL w działaniu kopiowania.

    {
        "name": "AzureSqlDatabaseDataset",
        "properties": {
            "type": "AzureSqlTable",
            "linkedServiceName": {
                "referenceName": "AzureSqlDatabaseLinkedService",
                "type": "LinkedServiceReference"
            },
            "typeProperties": {
                "tableName": "dummy"
            }
        }
    }
    
  2. Aby utworzyć zestaw danych: AzureSqlDatabaseDataset, uruchom polecenie cmdlet Set-AzDataFactoryV2Dataset .

    Set-AzDataFactoryV2Dataset -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "AzureSqlDatabaseDataset" -File ".\AzureSqlDatabaseDataset.json"
    

    Oto przykładowe dane wyjściowe:

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

Tworzenie zestawu danych dla ujścia usługi Azure Synapse Analytics

  1. Utwórz plik JSON o nazwie AzureSqlDWDataset.json w folderze C:\ADFv2TutorialBulkCopy, z następującą zawartością: „tableName” ustawione jako parametr, następnie działanie kopiowania odwołujące się do tego zestawu danych przekazuje rzeczywistą wartość do zestawu danych.

    {
        "name": "AzureSqlDWDataset",
        "properties": {
            "type": "AzureSqlDWTable",
            "linkedServiceName": {
                "referenceName": "AzureSqlDWLinkedService",
                "type": "LinkedServiceReference"
            },
            "typeProperties": {
                "tableName": {
                    "value": "@{dataset().DWTableName}",
                    "type": "Expression"
                }
            },
            "parameters":{
                "DWTableName":{
                    "type":"String"
                }
            }
        }
    }
    
  2. Aby utworzyć zestaw danych: AzureSqlDWDataset, uruchom polecenie cmdlet Set-AzDataFactoryV2Dataset .

    Set-AzDataFactoryV2Dataset -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "AzureSqlDWDataset" -File ".\AzureSqlDWDataset.json"
    

    Oto przykładowe dane wyjściowe:

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

Tworzenie potoków

W tym samouczku utworzysz dwa potoki:

Tworzenie potoku „IterateAndCopySQLTables”

Ten potok pobiera listę tabel jako parametr. Dla każdej tabeli na liście kopiuje dane z tabeli w usłudze Azure SQL Database do usługi Azure Synapse Analytics przy użyciu kopiowania etapowego i technologii PolyBase.

  1. W folderze C:\ADFv2TutorialBulkCopy utwórz plik JSON o nazwie IterateAndCopySQLTables.json z następującą zawartością:

    {
        "name": "IterateAndCopySQLTables",
        "properties": {
            "activities": [
                {
                    "name": "IterateSQLTables",
                    "type": "ForEach",
                    "typeProperties": {
                        "isSequential": "false",
                        "items": {
                            "value": "@pipeline().parameters.tableList",
                            "type": "Expression"
                        },
                        "activities": [
                            {
                                "name": "CopyData",
                                "description": "Copy data from Azure SQL Database to Azure Synapse Analytics",
                                "type": "Copy",
                                "inputs": [
                                    {
                                        "referenceName": "AzureSqlDatabaseDataset",
                                        "type": "DatasetReference"
                                    }
                                ],
                                "outputs": [
                                    {
                                        "referenceName": "AzureSqlDWDataset",
                                        "type": "DatasetReference",
                                        "parameters": {
                                            "DWTableName": "[@{item().TABLE_SCHEMA}].[@{item().TABLE_NAME}]"
                                        }
                                    }
                                ],
                                "typeProperties": {
                                    "source": {
                                        "type": "SqlSource",
                                        "sqlReaderQuery": "SELECT * FROM [@{item().TABLE_SCHEMA}].[@{item().TABLE_NAME}]"
                                    },
                                    "sink": {
                                        "type": "SqlDWSink",
                                        "preCopyScript": "TRUNCATE TABLE [@{item().TABLE_SCHEMA}].[@{item().TABLE_NAME}]",
                                        "allowPolyBase": true
                                    },
                                    "enableStaging": true,
                                    "stagingSettings": {
                                        "linkedServiceName": {
                                            "referenceName": "AzureStorageLinkedService",
                                            "type": "LinkedServiceReference"
                                        }
                                    }
                                }
                            }
                        ]
                    }
                }
            ],
            "parameters": {
                "tableList": {
                    "type": "Object"
                }
            }
        }
    }
    
  2. Aby utworzyć potok: IterateAndCopySQLTables, uruchom polecenie cmdlet Set-AzDataFactoryV2Pipeline .

    Set-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "IterateAndCopySQLTables" -File ".\IterateAndCopySQLTables.json"
    

    Oto przykładowe dane wyjściowe:

    PipelineName      : IterateAndCopySQLTables
    ResourceGroupName : <resourceGroupName>
    DataFactoryName   : <dataFactoryName>
    Activities        : {IterateSQLTables}
    Parameters        : {[tableList, Microsoft.Azure.Management.DataFactory.Models.ParameterSpecification]}
    

Tworzenie potoku „GetTableListAndTriggerCopyData”

Ten potok wykonuje dwie czynności:

  • Wyszukuje tabelę systemową bazy Azure SQL Database w celu pobrania listy tabel do skopiowania.
  • Wyzwala potok „IterateAndCopySQLTables”, który przeprowadza rzeczywiste kopiowanie danych.
  1. W folderze C:\ADFv2TutorialBulkCopy utwórz plik JSON o nazwie GetTableListAndTriggerCopyData.json z następującą zawartością:

    {
        "name":"GetTableListAndTriggerCopyData",
        "properties":{
            "activities":[
                { 
                    "name": "LookupTableList",
                    "description": "Retrieve the table list from Azure SQL database",
                    "type": "Lookup",
                    "typeProperties": {
                        "source": {
                            "type": "SqlSource",
                            "sqlReaderQuery": "SELECT TABLE_SCHEMA, TABLE_NAME FROM information_schema.TABLES WHERE TABLE_TYPE = 'BASE TABLE' and TABLE_SCHEMA = 'SalesLT' and TABLE_NAME <> 'ProductModel'"
                        },
                        "dataset": {
                            "referenceName": "AzureSqlDatabaseDataset",
                            "type": "DatasetReference"
                        },
                        "firstRowOnly": false
                    }
                },
                {
                    "name": "TriggerCopy",
                    "type": "ExecutePipeline",
                    "typeProperties": {
                        "parameters": {
                            "tableList": {
                                "value": "@activity('LookupTableList').output.value",
                                "type": "Expression"
                            }
                        },
                        "pipeline": {
                            "referenceName": "IterateAndCopySQLTables",
                            "type": "PipelineReference"
                        },
                        "waitOnCompletion": true
                    },
                    "dependsOn": [
                        {
                            "activity": "LookupTableList",
                            "dependencyConditions": [
                                "Succeeded"
                            ]
                        }
                    ]
                }
            ]
        }
    }
    
  2. Aby utworzyć potok: GetTableListAndTriggerCopyData, uruchom polecenie cmdlet Set-AzDataFactoryV2Pipeline .

    Set-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -Name "GetTableListAndTriggerCopyData" -File ".\GetTableListAndTriggerCopyData.json"
    

    Oto przykładowe dane wyjściowe:

    PipelineName      : GetTableListAndTriggerCopyData
    ResourceGroupName : <resourceGroupName>
    DataFactoryName   : <dataFactoryName>
    Activities        : {LookupTableList, TriggerCopy}
    Parameters        :
    

Uruchamianie i monitorowanie działania potoku

  1. Uruchom działanie potoku dla głównego potoku „GetTableListAndTriggerCopyData” i zarejestruj identyfikator uruchomienia potoku do przyszłego monitorowania. Potok dodatkowo uruchamia potok „IterateAndCopySQLTables” zgodnie z definicją w działaniu ExecutePipeline.

    $runId = Invoke-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineName 'GetTableListAndTriggerCopyData'
    
  2. Uruchom następujący skrypt, aby stale sprawdzać stan uruchomienia potoku GetTableListAndTriggerCopyData oraz wydrukować ostateczny wynik uruchomienia potoku i działania.

    while ($True) {
        $run = Get-AzDataFactoryV2PipelineRun -ResourceGroupName $resourceGroupName -DataFactoryName $DataFactoryName -PipelineRunId $runId
    
        if ($run) {
            if ($run.Status -ne 'InProgress') {
                Write-Host "Pipeline run finished. The status is: " $run.Status -ForegroundColor "Yellow"
                Write-Host "Pipeline run details:" -ForegroundColor "Yellow"
                $run
                break
            }
            Write-Host  "Pipeline is running...status: InProgress" -ForegroundColor "Yellow"
        }
    
        Start-Sleep -Seconds 15
    }
    
    $result = Get-AzDataFactoryV2ActivityRun -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineRunId $runId -RunStartedAfter (Get-Date).AddMinutes(-30) -RunStartedBefore (Get-Date).AddMinutes(30)
    Write-Host "Activity run details:" -ForegroundColor "Yellow"
    $result
    

    Oto dane wyjściowe przykładowego przebiegu:

    Pipeline run details:
    ResourceGroupName : <resourceGroupName>
    DataFactoryName   : <dataFactoryName>
    RunId             : 0000000000-00000-0000-0000-000000000000
    PipelineName      : GetTableListAndTriggerCopyData
    LastUpdated       : 9/18/2017 4:08:15 PM
    Parameters        : {}
    RunStart          : 9/18/2017 4:06:44 PM
    RunEnd            : 9/18/2017 4:08:15 PM
    DurationInMs      : 90637
    Status            : Succeeded
    Message           : 
    
    Activity run details:
    ResourceGroupName : <resourceGroupName>
    DataFactoryName   : <dataFactoryName>
    ActivityName      : LookupTableList
    PipelineRunId     : 0000000000-00000-0000-0000-000000000000
    PipelineName      : GetTableListAndTriggerCopyData
    Input             : {source, dataset, firstRowOnly}
    Output            : {count, value, effectiveIntegrationRuntime}
    LinkedServiceName : 
    ActivityRunStart  : 9/18/2017 4:06:46 PM
    ActivityRunEnd    : 9/18/2017 4:07:09 PM
    DurationInMs      : 22995
    Status            : Succeeded
    Error             : {errorCode, message, failureType, target}
    
    ResourceGroupName : <resourceGroupName>
    DataFactoryName   : <dataFactoryName>
    ActivityName      : TriggerCopy
    PipelineRunId     : 0000000000-00000-0000-0000-000000000000
    PipelineName      : GetTableListAndTriggerCopyData
    Input             : {pipeline, parameters, waitOnCompletion}
    Output            : {pipelineRunId}
    LinkedServiceName : 
    ActivityRunStart  : 9/18/2017 4:07:11 PM
    ActivityRunEnd    : 9/18/2017 4:08:14 PM
    DurationInMs      : 62581
    Status            : Succeeded
    Error             : {errorCode, message, failureType, target}
    
  3. Możesz uzyskać identyfikator uruchomienia potoku „IterateAndCopySQLTables” i sprawdzić szczegółowe wyniki uruchomienia działania zgodnie z poniższymi instrukcjami.

    Write-Host "Pipeline 'IterateAndCopySQLTables' run result:" -ForegroundColor "Yellow"
    ($result | Where-Object {$_.ActivityName -eq "TriggerCopy"}).Output.ToString()
    

    Oto dane wyjściowe przykładowego przebiegu:

    {
        "pipelineRunId": "7514d165-14bf-41fb-b5fb-789bea6c9e58"
    }
    
    $result2 = Get-AzDataFactoryV2ActivityRun -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineRunId <copy above run ID> -RunStartedAfter (Get-Date).AddMinutes(-30) -RunStartedBefore (Get-Date).AddMinutes(30)
    $result2
    
  4. Połączenie do ujścia usługi Azure Synapse Analytics i upewnij się, że dane zostały prawidłowo skopiowane z usługi Azure SQL Database.

W ramach tego samouczka wykonano następujące procedury:

  • Tworzenie fabryki danych.
  • Tworzenie połączonych usług Azure SQL Database, Azure Synapse Analytics i Azure Storage.
  • Tworzenie zestawów danych usługi Azure SQL Database i Azure Synapse Analytics.
  • Tworzenie potoku w celu wyszukania tabel do skopiowania i innego potoku w celu wykonania samej operacji kopiowania.
  • Uruchom potok.
  • Monitorowanie uruchomień potoku i działań.

Przejdź do poniższego samouczka, aby dowiedzieć się, jak przyrostowo kopiować dane z lokalizacji źródłowej do docelowej: