Kurz: Kopírování dat z databáze SQL Server do Azure Blob Storage

VZTAHUJE SE NA: Azure Data Factory Azure Synapse Analytics

Tip

Data Factory v Microsoft Fabric je nová generace Azure Data Factory s jednodušší architekturou, integrovanou AI a novými funkcemi. Pokud s integrací dat začínáte, začněte Fabric Data Factory. Stávající úlohy ADF lze upgradovat na Fabric pro přístup k novým funkcím v oblastech datové vědy, analýz v reálném čase a vytváření sestav.

V tomto návodu použijete Azure PowerShell k vytvoření datového kanálu, který kopíruje data z databáze SQL Server do Azure Blob Storage. Vytvoříte a použijete místní prostředí Integration Runtime, které přesouvá data mezi místním a cloudovým úložištěm dat.

Poznámka:

Tento článek neposkytuje podrobný úvod do služby Data Factory. Další informace najdete v tématu Introduction Azure Data Factory.

V tomto kurzu budete provádět následující kroky:

  • Vytvoření datové továrny
  • Vytvořte místní prostředí Integration Runtime.
  • Vytvořte propojené služby SQL Server a Azure Storage.
  • Vytvořte datové sady SQL Serveru a Azure Blob.
  • Vytvořte datový tok s aktivitou kopírování pro přesun dat.
  • Zahajte spuštění potrubí.
  • Sledujte spuštění kanálu.

Požadavky

předplatné Azure

Než začnete, pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet.

Azure role

Aby bylo možné vytvářet instance datové továrny, musí být uživatelský účet, který používáte pro přihlášení k Azure, přiřazen k roli Contributor nebo Vlastník, nebo musí být administrátor předplatného Azure.

Pokud chcete zobrazit oprávnění, která máte v předplatném, přejděte na portál Azure, vyberte uživatelské jméno v pravém horním rohu a pak vyberte Permissions. Pokud máte přístup k několika předplatným, vyberte odpovídající předplatné. Ukázkové pokyny k přidání uživatele do role najdete v článku Přiřazení rolí Azure pomocí Azure portálu.

SQL Server 2014, 2016 a 2017

V tomto kurzu použijete databázi SQL Server jako úložiště dat source. Potrubí v datové továrně, které vytvoříte v tomto kurzu, kopíruje data z této SQL Server databáze (zdroj) do úložiště Azure Blob (cíl). Potom v databázi SQL Server vytvoříte tabulku s názvem emp a vložíte do tabulky několik ukázkových položek.

  1. Spusťte SQL Server Management Studio. Pokud na počítači ještě není nainstalovaný, přejděte na Stah SQL Server Management Studio.

  2. Připojte se k instanci SQL Server pomocí svých přihlašovacích údajů.

  3. Vytvořte ukázkovou databázi. Ve stromovém zobrazení klikněte pravým tlačítkem na Databáze a pak vyberte Nová databáze.

  4. V okně Nová databáze zadejte název databáze a pak vyberte OK.

  5. Vytvořte tabulku emp a vložte do ní nějaká ukázková data spuštěním následujícího skriptu dotazu proti databázi. Ve stromovém zobrazení klikněte pravým tlačítkem na databázi, kterou jste vytvořili, a pak vyberte Nový dotaz.

    CREATE TABLE dbo.emp
    (
        ID int IDENTITY(1,1) NOT NULL,
        FirstName varchar(50),
        LastName varchar(50)
    )
    GO
    
    INSERT INTO emp (FirstName, LastName) VALUES ('John', 'Doe')
    INSERT INTO emp (FirstName, LastName) VALUES ('Jane', 'Doe')
    GO
    

účet Azure Storage

V tomto kurzu použijete obecný účet úložiště Azure (konkrétně Azure Blob Storage) jako cílové nebo koncové úložiště dat. Pokud nemáte účet úložiště pro obecné účely Azure, přečtěte si téma Vytvoření účtu úložiště. Potrubí v Azure Data Factory, které vytvoříte v tomto kurzu, kopíruje data z databáze SQL Server (zdroj) do tohoto úložiště Azure objektů blob (cílové úložiště).

Získání názvu a klíče účtu úložiště

V tomto kurzu použijete název a klíč účtu úložiště Azure. Získejte název a klíč vašeho účtu úložiště pomocí následujícího postupu:

  1. Přihlaste se k portálu Azure pomocí svého uživatelského jména a hesla Azure.

  2. V levém podokně vyberte Další služby, proveďte filtrování pomocí klíčového slova úložiště a pak vyberte Účty úložiště.

    Vyhledání účtu úložiště

  3. V seznamu účtů úložiště vyfiltrujte váš účet úložiště (pokud je to potřeba) a pak vyberte váš účet úložiště.

  4. V okně Účet úložiště vyberte Přístupové klíče.

  5. Zkopírujte hodnoty polí Název účtu úložiště a klíč1 a vložte je do Poznámkového bloku nebo jiného editoru pro pozdější použití v rámci kurzu.

Vytvoření kontejneru adftutorial

V této části vytvoříte v Azure Blob Storage kontejner objektů blob s názvem adftutorial.

  1. V okně Účet úložiště přepněte na Přehled a pak vyberte Bloby.

    Vyberte možnost Objekty blob

  2. V okně Blob service vyberte Kontejner.

  3. V okně Nový kontejner do pole Název zadejte adftutorial a pak vyberte OK.

    Zadání názvu kontejneru

  4. V seznamu kontejnerů vyberte adftutorial.

  5. Okno Kontejner pro adftutorial nechte otevřené. Použijete ji k ověření výstupu na konci tohoto kurzu. Data Factory v tomto kontejneru vytvoří výstupní složku automaticky, takže ji nemusíte vytvářet.

Windows PowerShell

Instalace Azure PowerShell

Poznámka:

K interakci s Azure doporučujeme použít modul Azure Az PowerShell. Pokud chcete začít, přečtěte si téma Install Azure PowerShell. Informace o migraci do modulu Az PowerShell najdete v tématu Migrace Azure PowerShell z AzureRM do Az.

Pokud ho ještě nemáte na počítači, nainstalujte si nejnovější verzi Azure PowerShell. Podrobné pokyny najdete v Jak instalovat a konfigurovat Azure PowerShell.

Přihlášení do PowerShellu

  1. Spusťte na svém počítači PowerShell a nechte ho otevřený do konce tohoto kurzu Rychlý start. Pokud ho zavřete a znovu otevřete, tyto příkazy budete muset spustit znovu.

  2. Spusťte následující příkaz a zadejte Azure uživatelské jméno a heslo, které používáte pro přihlášení k portálu Azure:

    Connect-AzAccount
    
  3. Pokud máte více Azure předplatných, spuštěním následujícího příkazu vyberte předplatné, se kterým chcete pracovat. Nahraďte SubscriptionId ID vašeho předplatného Azure:

    Select-AzSubscription -SubscriptionId "<SubscriptionId>"   	
    

Vytvoření datové továrny

  1. Definujte proměnnou pro název skupiny prostředků, kterou použijete později v příkazech PowerShellu. Zkopírujte následující příkaz do PowerShellu, zadejte název skupiny prostředků Azure (uzavřený do uvozovek, například "adfrg") a spusťte příkaz.

    $resourceGroupName = "ADFTutorialResourceGroup"
    
  2. Pokud chcete vytvořit skupinu prostředků Azure, spusťte následující příkaz:

    New-AzResourceGroup $resourceGroupName -location 'East US'
    

    Možná nebudete chtít přepsat skupinu prostředků, pokud již existuje. Přiřaďte proměnné $resourceGroupName jinou hodnotu a spusťte tento příkaz znovu.

  3. Definujte proměnnou pro název datové továrny, kterou můžete později použít v příkazech prostředí PowerShell. Název musí začínat písmenem nebo číslicí a může obsahovat pouze písmena, číslice a spojovníky (-).

    Důležité

    Aktualizujte název datové továrny tak, aby byl globálně jedinečný. Například ADFTutorialFactorySP1127.

    $dataFactoryName = "ADFTutorialFactory"
    
  4. Definujte proměnnou pro umístění datové továrny:

    $location = "East US"
    
  5. Pro vytvoření datové továrny spusťte následující cmdlet Set-AzDataFactoryV2:

    Set-AzDataFactoryV2 -ResourceGroupName $resourceGroupName -Location $location -Name $dataFactoryName
    

Poznámka:

  • Název datové továrny musí být globálně jedinečný. Pokud se zobrazí následující chyba, změňte název a zkuste to znovu.
    The specified data factory name 'ADFv2TutorialDataFactory' is already in use. Data factory names must be globally unique.
    
  • Abyste mohli vytvořit instance datové továrny, uživatelský účet, který používáte k přihlášení k Azure, musí mít přiřazenou roli contributor nebo owner, nebo musí být administrator předplatného Azure.
  • Seznam Azure oblastí, ve kterých je služba Data Factory aktuálně dostupná, vyberte oblasti, které vás zajímají, na následující stránce a rozbalte Analytics a vyhledejte Data Factory: Products available by region. Úložiště dat (Azure Storage, Azure SQL Database atd.) a výpočetní prostředí (Azure HDInsight atd.) používaná objektem pro vytváření dat můžou být v jiných oblastech.

Vytvořte vlastní hostitelské prostředí Integration Runtime

V této části vytvoříte místní prostředí Integration Runtime a přidružíte ho k místnímu počítači s SQL Server databází. Místní prostředí Integration Runtime je komponenta, která kopíruje data z databáze SQL Server na vašem počítači do Azure Blob Storage.

  1. Vytvořte proměnnou pro název prostředí Integration Runtime. Použijte jedinečný název, který si poznamenejte. Použijete ho později v tomto kurzu.

    $integrationRuntimeName = "ADFTutorialIR"
    
  2. Vytvořte místní prostředí Integration Runtime.

    Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -Name $integrationRuntimeName -Type SelfHosted -Description "selfhosted IR description"
    

    Tady je ukázkový výstup:

    Name              : ADFTutorialIR
    Type              : SelfHosted
    ResourceGroupName : <resourceGroupName>
    DataFactoryName   : <dataFactoryName>
    Description       : selfhosted IR description
    Id                : /subscriptions/<subscription ID>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<dataFactoryName>/integrationruntimes/<integrationRuntimeName>
    
  3. Pokud chcete načíst stav vytvořeného prostředí Integration Runtime, spusťte následující příkaz:

    Get-AzDataFactoryV2IntegrationRuntime -name $integrationRuntimeName -ResourceGroupName $resourceGroupName -DataFactoryName $dataFactoryName -Status
    

    Tady je ukázkový výstup:

    State                     : NeedRegistration
    Version                   :
    CreateTime                : 9/10/2019 3:24:09 AM
    AutoUpdate                : On
    ScheduledUpdateDate       :
    UpdateDelayOffset         :
    LocalTimeZoneOffset       :
    InternalChannelEncryption :
    Capabilities              : {}
    ServiceUrls               : {eu.frontend.clouddatahub.net}
    Nodes                     : {}
    Links                     : {}
    Name                      : <Integration Runtime name>
    Type                      : SelfHosted
    ResourceGroupName         : <resourceGroup name>
    DataFactoryName           : <dataFactory name>
    Description               : selfhosted IR description
    Id                        : /subscriptions/<subscription ID>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<dataFactoryName>/integrationruntimes/<integrationRuntimeName>
    
  4. Chcete-li načíst ověřovací klíče pro registraci samostatně hostovaného integračního runtime ve službě Data Factory v cloudu, spusťte následující příkaz. Pro registraci místního prostředí Integration Runtime, které nainstalujete na počítači v dalším kroku, zkopírujte jeden z klíčů (bez uvozovek).

    Get-AzDataFactoryV2IntegrationRuntimeKey -Name $integrationRuntimeName -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName | ConvertTo-Json
    

    Tady je ukázkový výstup:

    {
        "AuthKey1":  "IR@0000000000-0000-0000-0000-000000000000@xy0@xy@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=",
        "AuthKey2":  "IR@0000000000-0000-0000-0000-000000000000@xy0@xy@yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy="
    }
    

Instalace prostředí Integration Runtime

  1. Stáhněte Azure Data Factory Integration Runtime na místním počítači Windows a spusťte instalaci.

  2. V průvodci Instalací Microsoft Integration Runtime vyberte Další.

  3. V okně Licenční smlouva s koncovým uživatelem (EULA) přijměte podmínky a licenční smlouvu a vyberte Další.

  4. V okně Cílová složka vyberte Další.

  5. V okně Ready pro instalaci Microsoft Integration Runtime vyberte Install.

  6. V průvodci Dokončeno nastavení Microsoft Integration Runtime vyberte Dokončit.

  7. V okně Registrátor Integration Runtime (v místním prostředí) vložte klíč, který jste uložili v předchozí části, a pak vyberte Registrovat.

    Registrace Integration Runtime

  8. V okně Nový uzel Integration Runtime (místní) vyberte Finish.

    Nové okno pro uzel runtime integrace

  9. Po úspěšném dokončení registrace místního prostředí Integration Runtime se zobrazí následující zpráva:

    Úspěšně zaregistrováno

  10. V okně Register Integration Runtime (v místním prostředí) vyberte Spustit Správce konfigurace.

  11. Jakmile se uzel připojí ke cloudové službě, zobrazí se následující zpráva:

    Uzel je připojen

  12. Otestujte připojení k databázi SQL Server následujícím způsobem:

    a. V okně Správce konfigurace přepněte na kartu Diagnostics.

    b. V poli Typ zdroje dat vyberte SqlServer.

    c. Zadejte název serveru.

    d. Zadejte název databáze.

    e. Vyberte režim ověřování.

    f. Zadejte uživatelské jméno.

    g. Zadejte heslo přidružené k tomuto uživatelskému jménu.

    h. Pokud chcete ověřit, že se prostředí Integration Runtime může připojit k SQL Server, vyberte Test.
    Připojení bylo úspěšné.

    Pokud je připojení úspěšné, zobrazí se zelená ikona zaškrtnutí. V opačném případě se zobrazí chybová zpráva přidružená k tomuto selhání. Opravte všechny problémy a ujistěte se, že se prostředí Integration Runtime může připojit k vaší instanci SQL Server.

    Všechny předchozí hodnoty si poznamenejte pro pozdější použití v rámci tohoto kurzu.

Vytvoření propojených služeb

Vytvořte v datové továrně propojené služby, abyste svá úložiště dat a výpočetní služby propojili s datovou továrnou. V tomto kurzu propojíte účet úložiště Azure a instanci SQL Serveru s úložištěm dat. Propojené služby mají informace o připojení, které služba Data Factory používá pro připojení za běhu.

Vytvořte propojenou službu Azure Storage (cíl/úložiště)

V tomto kroku propojíte účet úložiště Azure s datovou továrnou.

  1. Ve složce C:\ADFv2Tutorial vytvořte soubor JSON s názvem AzureStorageLinkedService.json s následujícím kódem. Pokud složka ADFv2Tutorial neexistuje, vytvořte ji.

    Důležité

    Před uložením souboru nahraďte <accountName> a <accountKey> názvem a klíčem účtu úložiště Azure. Tyto hodnoty jste si poznamenali v části Požadavky.

    {
        "name": "AzureStorageLinkedService",
        "properties": {
            "annotations": [],
            "type": "AzureBlobStorage",
            "typeProperties": {
                "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net"
            }
        }
    }
    
  2. V PowerShellu přejděte do složky C:\ADFv2Tutorial.

    Set-Location 'C:\ADFv2Tutorial'
    
  3. Spuštěním následující rutiny Set-AzDataFactoryV2LinkedService vytvořte propojenou službu AzureStorageLinkedService:

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

    Tady je ukázkový výstup:

    LinkedServiceName : AzureStorageLinkedService
    ResourceGroupName : <resourceGroup name>
    DataFactoryName   : <dataFactory name>
    Properties        : Microsoft.Azure.Management.DataFactory.Models.AzureBlobStorageLinkedService
    

    Pokud se zobrazí chyba Soubor nenalezen, spusťte příkaz dir a ověřte, že soubor existuje. Pokud má název souboru příponu .txt (například AzureStorageLinkedService.json.txt), odeberte ji a pak spusťte příkaz PowerShellu znovu.

Vytvoření a šifrování propojené služby SQL Server (zdroj)

V tomto kroku propojíte instanci SQL Server s datovou továrnou.

  1. Ve složce C:\ADFv2Tutorial vytvořte soubor JSON s názvem SQLServerLinkedService.json s následujícím kódem:

    Důležité

    Vyberte oddíl založený na ověřování, které používáte pro připojení k SQL Server.

    Ověřování SQL (sa):

    {  
        "name":"SqlServerLinkedService",
        "type":"Microsoft.DataFactory/factories/linkedservices",
        "properties":{  
            "annotations":[  
    
            ],
            "type":"SqlServer",
            "typeProperties":{  
                "connectionString":"integrated security=False;data source=<serverName>;initial catalog=<databaseName>;user id=<userName>;password=<password>"
            },
            "connectVia":{  
                "referenceName":"<integration runtime name> ",
                "type":"IntegrationRuntimeReference"
            }
        }
    }
    

    Použití ověřování systému Windows:

    {  
        "name":"SqlServerLinkedService",
        "type":"Microsoft.DataFactory/factories/linkedservices",
        "properties":{  
            "annotations":[  
    
            ],
            "type":"SqlServer",
            "typeProperties":{  
                "connectionString":"integrated security=True;data source=<serverName>;initial catalog=<databaseName>",
                "userName":"<username> or <domain>\\<username>",
                "password":{  
                    "type":"SecureString",
                    "value":"<password>"
                }
            },
            "connectVia":{  
                "referenceName":"<integration runtime name>",
                "type":"IntegrationRuntimeReference"
            }
        }
    }
    

    Důležité

    • Vyberte oddíl založený na ověřování, které používáte pro připojení k instanci SQL Server.
    • Nahraďte <název> prostředí Integration Runtime názvem vašeho prostředí Integration Runtime.
    • Před uložením souboru nahraďte <servername>, <databasename>, <username> a <password> s hodnotami vaší instance SQL Server.
    • Pokud potřebujete použít zpětné lomítko (\) v uživatelském účtu nebo názvu serveru, před ním zadejte escape znak (\). Například použijte mydomain\\myuser.
  2. Pokud chcete šifrovat citlivá data (uživatelské jméno, heslo atd.), spusťte rutinu New-AzDataFactoryV2LinkedServiceEncryptedCredential.
    Toto šifrování zajišťuje šifrování přihlašovacích údajů pomocí rozhraní Data Protection API. Zašifrované přihlašovací údaje jsou uložené místně v uzlu místního prostředí Integration Runtime (místní počítač). Výstupní datovou část je možné přesměrovat do jiného souboru JSON (v tomto případě encryptedLinkedService.json), který obsahuje zašifrované přihlašovací údaje.

    New-AzDataFactoryV2LinkedServiceEncryptedCredential -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -IntegrationRuntimeName $integrationRuntimeName -File ".\SQLServerLinkedService.json" > encryptedSQLServerLinkedService.json
    
  3. Spusťte následující příkaz, který vytvoří EncryptedSqlServerLinkedService:

    Set-AzDataFactoryV2LinkedService -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -Name "EncryptedSqlServerLinkedService" -File ".\encryptedSqlServerLinkedService.json"
    

Vytvoření datových sad

V tomto kroku vytvoříte vstupní a výstupní datové sady. Představují vstupní a výstupní data pro operaci kopírování, která kopíruje data z databáze SQL Server do Azure Blob Storage.

Vytvoření datové sady pro zdrojovou SQL Server databázi

V tomto kroku definujete datovou sadu, která představuje data v instanci databáze SQL Server. Tato datová sada je typu SqlServerTable. Odkazuje na propojenou službu SQL Server, kterou jste vytvořili v předchozím kroku. Propojená služba obsahuje informace o připojení, které služba Data Factory používá k připojení k vaší instanci SQL Server za běhu. Tato datová sada určuje tabulku SQL v databázi, která obsahuje data. V tomto kurzu zdrojová data obsahuje tabulka emp.

  1. Ve složce C:\ADFv2Tutorial vytvořte soubor JSON s názvem SqlServerDataset.json s následujícím kódem:

    {  
        "name":"SqlServerDataset",
        "properties":{  
            "linkedServiceName":{  
                "referenceName":"EncryptedSqlServerLinkedService",
                "type":"LinkedServiceReference"
            },
            "annotations":[  
    
            ],
            "type":"SqlServerTable",
            "schema":[  
    
            ],
            "typeProperties":{  
                "schema":"dbo",
                "table":"emp"
            }
        }
    }
    
  2. Datovou sadu SqlServerDataset vytvoříte spuštěním rutiny Set-AzDataFactoryV2Dataset.

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

    Tady je ukázkový výstup:

    DatasetName       : SqlServerDataset
    ResourceGroupName : <resourceGroupName>
    DataFactoryName   : <dataFactoryName>
    Structure         :
    Properties        : Microsoft.Azure.Management.DataFactory.Models.SqlServerTableDataset
    

Vytvořit datovou sadu pro Azure Blob storage (cíl)

V tomto kroku definujete datovou sadu, která obsahuje údaje, které budete kopírovat do Azure Blob storage. Tato datová sada je typu AzureBlob. Odkazuje na propojenou službu Azure Storage, kterou jste vytvořili dříve v tomto kurzu.

Propojená služba obsahuje informace o připojení, které datová továrna používá za běhu pro připojení k vašemu účtu úložiště Azure. Tato datová sada určuje složku v úložišti Azure, do kterého se data zkopírují z databáze SQL Server. V tomto kurzu je touto složkou adftutorial/fromonprem, kde adftutorial je kontejner objektů blob a fromonprem je složka.

  1. Ve složce C:\ADFv2Tutorial vytvořte soubor JSON s názvem AzureBlobDataset.json s následujícím kódem:

    {  
        "name":"AzureBlobDataset",
        "properties":{  
            "linkedServiceName":{  
                "referenceName":"AzureStorageLinkedService",
                "type":"LinkedServiceReference"
            },
            "annotations":[  
    
            ],
            "type":"DelimitedText",
            "typeProperties":{  
                "location":{  
                    "type":"AzureBlobStorageLocation",
                    "folderPath":"fromonprem",
                    "container":"adftutorial"
                },
                "columnDelimiter":",",
                "escapeChar":"\\",
                "quoteChar":"\""
            },
            "schema":[  
    
            ]
        },
        "type":"Microsoft.DataFactory/factories/datasets"
    }
    
  2. Datovou sadu AzureBlobDataset vytvoříte spuštěním rutiny Set-AzDataFactoryV2Dataset.

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

    Tady je ukázkový výstup:

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

Vytvořit kanál

V tomto tutoriálu vytvoříte datový kanál pomocí aktivity kopírování. Aktivita kopírování používá SqlServerDataset jako vstupní datovou sadu a AzureBlobDataset jako výstupní datovou sadu. Typ zdroje je nastavený na SqlSource a typ jímky je nastavený na BlobSink.

  1. Ve složce C:\ADFv2Tutorial vytvořte soubor JSON s názvem SqlServerToBlobPipeline.json s následujícím kódem:

    {  
        "name":"SqlServerToBlobPipeline",
        "properties":{  
            "activities":[  
                {  
                    "name":"CopySqlServerToAzureBlobActivity",
                    "type":"Copy",
                    "dependsOn":[  
    
                    ],
                    "policy":{  
                        "timeout":"7.00:00:00",
                        "retry":0,
                        "retryIntervalInSeconds":30,
                        "secureOutput":false,
                        "secureInput":false
                    },
                    "userProperties":[  
    
                    ],
                    "typeProperties":{  
                        "source":{  
                            "type":"SqlServerSource"
                        },
                        "sink":{  
                            "type":"DelimitedTextSink",
                            "storeSettings":{  
                                "type":"AzureBlobStorageWriteSettings"
                            },
                            "formatSettings":{  
                                "type":"DelimitedTextWriteSettings",
                                "quoteAllText":true,
                                "fileExtension":".txt"
                            }
                        },
                        "enableStaging":false
                    },
                    "inputs":[  
                        {  
                            "referenceName":"SqlServerDataset",
                            "type":"DatasetReference"
                        }
                    ],
                    "outputs":[  
                        {  
                            "referenceName":"AzureBlobDataset",
                            "type":"DatasetReference"
                        }
                    ]
                }
            ],
            "annotations":[  
    
            ]
        }
    }
    
  2. Kanál SQLServerToBlobPipeline vytvoříte spuštěním cmdletu Set-AzDataFactoryV2Pipeline.

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

    Tady je ukázkový výstup:

    PipelineName      : SQLServerToBlobPipeline
    ResourceGroupName : <resourceGroupName>
    DataFactoryName   : <dataFactoryName>
    Activities        : {CopySqlServerToAzureBlobActivity}
    Parameters        :  
    

Vytvořte spuštění úlohy

Zahajte spuštění kanálu SQLServerToBlobPipeline a zaznamenejte ID spuštění kanálu pro pozdější sledování.

$runId = Invoke-AzDataFactoryV2Pipeline -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineName 'SQLServerToBlobPipeline'

Monitorování spuštění kanálu

  1. Pokud chcete nepřetržitě kontrolovat stav spuštění kanálu SQLServerToBlobPipeline, spusťte v PowerShellu následující skript a vytiskne konečný výsledek:

    while ($True) {
        $result = Get-AzDataFactoryV2ActivityRun -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineRunId $runId -RunStartedAfter (Get-Date).AddMinutes(-30) -RunStartedBefore (Get-Date).AddMinutes(30)
    
        if (($result | Where-Object { $_.Status -eq "InProgress" } | Measure-Object).count -ne 0) {
            Write-Host "Pipeline run status: In Progress" -foregroundcolor "Yellow"
            Start-Sleep -Seconds 30
        }
        else {
            Write-Host "Pipeline 'SQLServerToBlobPipeline' run finished. Result:" -foregroundcolor "Yellow"
            $result
            break
        }
    }
    

    Zde je výstup tohoto ukázkového spuštění:

    ResourceGroupName    : <resourceGroupName>
    DataFactoryName      : <dataFactoryName>
    ActivityRunId        : 24af7cf6-efca-4a95-931d-067c5c921c25
    ActivityName         : CopySqlServerToAzureBlobActivity
    ActivityType         : Copy
    PipelineRunId        : 7b538846-fd4e-409c-99ef-2475329f5729
    PipelineName         : SQLServerToBlobPipeline
    Input                : {source, sink, enableStaging}
    Output               : {dataRead, dataWritten, filesWritten, sourcePeakConnections...}
    LinkedServiceName    :
    ActivityRunStart     : 9/11/2019 7:10:37 AM
    ActivityRunEnd       : 9/11/2019 7:10:58 AM
    DurationInMs         : 21094
    Status               : Succeeded
    Error                : {errorCode, message, failureType, target}
    AdditionalProperties : {[retryAttempt, ], [iterationHash, ], [userProperties, {}], [recoveryStatus, None]...}
    
  2. Spuštěním následujícího příkazu můžete získat ID spuštění kanálu SQLServerToBlobPipeline a zkontrolovat podrobné výsledky spuštění aktivit:

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

    Zde je výstup tohoto ukázkového spuštění:

    {  
        "dataRead":36,
        "dataWritten":32,
        "filesWritten":1,
        "sourcePeakConnections":1,
        "sinkPeakConnections":1,
        "rowsRead":2,
        "rowsCopied":2,
        "copyDuration":18,
        "throughput":0.01,
        "errors":[  
    
        ],
        "effectiveIntegrationRuntime":"ADFTutorialIR",
        "usedParallelCopies":1,
        "executionDetails":[  
            {  
                "source":{  
                    "type":"SqlServer"
                },
                "sink":{  
                    "type":"AzureBlobStorage",
                    "region":"CentralUS"
                },
                "status":"Succeeded",
                "start":"2019-09-11T07:10:38.2342905Z",
                "duration":18,
                "usedParallelCopies":1,
                "detailedDurations":{  
                    "queuingDuration":6,
                    "timeToFirstByte":0,
                    "transferDuration":5
                }
            }
        ]
    }
    

Ověření výstupu

Kanál v kontejneru objektů blob automaticky vytvoří výstupní složku s názvem adftutorial. Zkontrolujte, že výstupní složka obsahuje soubor dbo.emp.txt.

  1. Na portálu Azure v okně kontejneru adftutorial vyberte Refresh a zobrazte výstupní složku.

  2. V seznamu složek vyberte fromonprem.

  3. Potvrďte, že se zobrazuje soubor s názvem dbo.emp.txt.

    Výstupní soubor

Datový kanál v tomto příkladu kopíruje data z jednoho umístění na jiné místo ve službě Azure Blob Storage. Naučili jste se:

  • Vytvoření datové továrny
  • Vytvořte místní prostředí Integration Runtime.
  • Vytvořte propojené služby SQL Server a Azure Storage.
  • Vytvořte datové sady SQL Serveru a Azure Blob.
  • Vytvořte datový tok s aktivitou kopírování pro přesun dat.
  • Zahajte spuštění potrubí.
  • Sledujte spuštění kanálu.

Seznam úložišť dat podporovaných službou Data Factory najdete v tématu popisujícím podporovaná úložiště dat.

Pokud se chcete dozvědět víc o hromadném kopírování dat ze zdroje do cíle, přejděte k následujícímu kurzu: