Kurz: Kopírování dat z databáze SQL Serveru do služby Azure Blob Storage

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

V tomto kurzu pomocí Azure PowerShellu vytvoříte kanál datové továrny, který kopíruje data z databáze SQL Serveru do úložiště objektů blob v Azure. 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 Úvod do 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ření propojených služeb SQL Server a Azure Storage
  • Vytvoření datových sad SQL Serveru a Azure Blob
  • Vytvoření kanálu s aktivitou kopírování pro přesun dat
  • Zahajte spuštění kanálu.
  • Monitorování spuštění kanálu

Požadavky

Předplatné Azure

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet před tím, než začnete.

Role Azure

Abyste mohli vytvořit instance datové továrny, musí mít uživatelský účet, který použijete pro přihlášení k Azure, přiřazenou roli Přispěvatel nebo Vlastník předplatného Azure nebo musí být jeho správcem.

Pokud chcete zobrazit oprávnění, která v předplatném máte, přejděte na web Azure Portal, v pravém horním rohu vyberte své uživatelské jméno a pak vyberte Oprávnění. 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í webu Azure Portal .

SQL Server 2014, 2016 a 2017

V tomto kurzu použijete databázi SQL Serveru jako zdrojové úložiště dat. Kanál v datové továrně, který vytvoříte v tomto kurzu, kopíruje data z této databáze SQL Serveru (zdroj) do služby Azure Blob Storage (jímka). Ve své databázi SQL Serveru pak vytvoříte tabulku emp a vložíte do ní několik ukázkových záznamů.

  1. Spusťte aplikaci SQL Server Management Studio. Pokud na vašem počítači ještě není nainstalovaná, přejděte na stránku pro stažení aplikace SQL Server Management Studio.

  2. Pomocí svých přihlašovacích údajů se přihlaste ke své instanci SQL Serveru.

  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 služby Azure Storage

V tomto kurzu použijete účet úložiště Azure (konkrétně úložiště objektů blob v Azure) pro obecné účely jako cílové úložiště dat nebo úložiště dat jímky. Pokud nemáte účet úložiště Azure pro obecné účely, přečtěte si téma Vytvoření účtu úložiště. Kanál v datové továrně, který vytvoříte v tomto kurzu, kopíruje data z databáze SQL Serveru (zdroj) do tohoto úložiště objektů blob v Azure (jímka).

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

V tomto kurzu použijete název a klíč svého úč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 webu Azure Portal 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 ve svém úložišti objektů blob v Azure kontejner objektů blob s názvem adftutorial.

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

    Výběr možnosti 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 prostředí Azure PowerShell

Poznámka:

Při práci s Azure doporučujeme používat modul Azure Az PowerShellu. Začněte tím, že si projdete téma Instalace Azure PowerShellu. Informace o tom, jak migrovat na modul Az PowerShell, najdete v tématu Migrace Azure PowerShellu z AzureRM na Az.

Pokud jej ve svém počítači ještě nemáte, nainstalujte nejnovější verzi Azure PowerShellu. Podrobné pokyny najdete v tématu Instalace a konfigurace prostředí 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 pak zadejte uživatelské jméno a heslo Azure, které používáte pro přihlášení k webu Azure Portal:

    Connect-AzAccount
    
  3. Pokud máte několik předplatných Azure, spuštěním následujícího příkazu vyberte předplatné, se kterým chcete pracovat. Místo SubscriptionId použijte 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 do PowerShellu následující příkaz, zadejte název skupiny prostředků Azure (v uvozovkách, například "adfrg") a pak příkaz spusťte.

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

    New-AzResourceGroup $resourceGroupName -location 'East US'
    

    Pokud již skupina prostředků existuje, nepřepisujte ji. 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. Vytvořte datovou továrnu spuštěním následující rutiny 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.
    
  • Pro vytvoření instancí datové továrny musí mít uživatelský účet, který použijete pro přihlášení k Azure, přiřazenou roli přispěvatel nebo vlastník předplatného Azure nebo musí být jeho správcem.
  • Pokud chcete zobrazit seznam oblastí Azure, ve kterých je služba Data Factory aktuálně dostupná, na následující stránce vyberte oblasti, které vás zajímají, pak rozbalte Analýza a vyhledejte Data Factory:Dostupné produkty v jednotlivých oblastech. Úložiště dat (Azure Storage, Azure SQL Database atd.) a výpočetní prostředí (Azure HDInsight atd.) používané datovou továrnou můžou být v jiných oblastech.

Vytvoření místního 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 databází SQL Serveru. Místní prostředí Integration Runtime je komponenta, která kopíruje data z databáze SQL Serveru ve vašem počítači do úložiště objektů blob v Azure.

  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. Spuštěním následujícího příkazu načtěte ověřovací klíče pro registraci místního prostředí Integration Runtime ve službě Data Factory v cloudu. 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. Na místním počítači s Windows stáhněte prostředí Integration Runtime služby Azure Data Factory a spusťte instalaci.

  2. V průvodci Vítá vás instalace prostředí 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ě Připraveno k instalaci prostředí Microsoft Integration Runtime vyberte Nainstalovat.

  6. V průvodci Dokončení instalace prostředí Microsoft Integration Runtime vyberte Dokončit.

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

    Registrace prostředí Integration Runtime

  8. V okně Nový Integration Runtime (v místním prostředí) Uzel vyberte Dokončit.

    Okno Nový uzel prostředí Integration Runtime

  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ě Registrace prostředí 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. Pomocí následujícího postupu otestujte připojení k databázi SQL Serveru:

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

    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 potvrdit, že se prostředí Integration Runtime může připojit k SQL Serveru, klikněte na Test.
    Připojení ivity byla ú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 ověřte, že se prostředí Integration Runtime může připojit k vaší instanci SQL Serveru.

    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 propočítáte svůj úč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ření propojené služby Azure Storage (cíl/jímka)

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

  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é

    Než soubor uložíte, nahraďte <accountName> a <accountKey> názvem a klíčem vašeho úč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 Serveru (zdroj)

V tomto kroku propočítáte instanci SQL Serveru s objektem pro vytváření dat.

  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 odpovídající část na základě ověřování, které používáte pro připojení k SQL Serveru.

    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"
            }
        }
    }
    

    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 odpovídající část na základě ověřování, které používáte pro připojení k vaší instanci SQL Serveru.
    • Nahraďte <název> prostředí Integration Runtime názvem vašeho prostředí Integration Runtime.
    • Před uložením souboru nahraďte <název> serveru, <název> databáze, <uživatelské jméno> a< heslo> hodnotami vaší instance SQL Serveru.
    • Pokud potřebujete použít zpětné lomítko (\) v uživatelském účtu nebo názvu serveru, před ním zadejte řídicí 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 Serveru do úložiště objektů blob v Azure.

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

V tomto kroku definujete datovou sadu, která představuje data v instanci databáze SQL Serveru. Tato datová sada je typu SqlServerTable. Odkazuje na propojenou službu SQL Serveru, kterou jste vytvořili v předchozím kroku. Propojená služba má informace o připojení, které služba Data Factory používá pro připojení k vaší instanci SQL Serveru 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ření datové sady pro úložiště objektů blob v Azure (jímka)

V tomto kroku definujete datovou sadu představující data, která se mají zkopírovat do úložiště objektů blob v Azure. 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 má informace o připojení, které datová továrna používá pro připojení k vašemu účtu úložiště Azure za běhu. Tato datová sada určuje složku v úložišti Azure, do které se kopírují data z databáze SQL Serveru. 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 kurzu pomocí aktivity kopírování vytvoříte kanál. 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 následující rutiny 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ření spuštění kanálu

Zahajte spuštění pro kanál SQLServerToBlobPipeline a zaznamenejte ID spuštění kanálu pro budoucí monitorová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 adftutorial automaticky vytvoří výstupní složku fromonprem. Zkontrolujte, že výstupní složka obsahuje soubor dbo.emp.txt.

  1. Na webu Azure Portal v okně kontejneru adftutorial vyberte Obnovit. Zobrazí se výstupní složka.

  2. V seznamu složek vyberte fromonprem.

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

    Výstupní soubor

Kanál v této ukázce kopíruje data z jednoho umístění do jiného v úložišti objektů blob v Azure. Naučili jste se:

  • Vytvoření datové továrny
  • Vytvořte místní prostředí Integration Runtime.
  • Vytvoření propojených služeb SQL Server a Azure Storage
  • Vytvoření datových sad SQL Serveru a Azure Blob
  • Vytvoření kanálu s aktivitou kopírování pro přesun dat
  • Zahajte spuštění kanálu.
  • Monitorování 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: