Oktatóanyag: Adatok másolása SQL Server adatbázisból Azure Blob Storage-ba

Vonatkozik: Azure Data Factory Azure Synapse Analytics

Tipp

Data Factory a Microsoft Fabric a Azure Data Factory következő generációja, egyszerűbb architektúrával, beépített AI-vel és új funkciókkal. Ha még nem ismerkedik az adatintegrációval, kezdje a Fabric Data Factoryvel. A meglévő ADF-számítási feladatok frissíthetők Fabric használatával, hogy elérjék az adatkutatás, a valós idejű elemzés és a jelentéskészítés új képességeit.

Ebben az oktatóanyagban az Azure PowerShell segítségével létrehoz egy Data Factory folyamatot, amely adatokat másol egy SQL Server adatbázisból az Azure Blob Storage tárhelyre. Létrehozhat és alkalmazhat egy saját üzemeltetésű integrációs modult, amely adatokat helyez át a helyszíni és a felhőalapú adattárolók között.

Megjegyzés

Ez a cikk nem mutatja be részletesen a Data Factory szolgáltatást. További információ: Bevezetés a Azure Data Factory.

Az oktatóanyagban az alábbi lépéseket fogja végrehajtani:

  • Adat-előállító létrehozása
  • Hozzon létre önállóan hosztolt integrációs futtatókörnyezetet.
  • Kapcsolt szolgáltatások létrehozása az SQL Serverhez és az Azure Storage-hoz.
  • SQL Server és Azure Blob adatkészletek létrehozása.
  • Folyamat létrehozása másolási tevékenységgel az adatok áthelyezéséhez
  • Folyamat futásának indítása
  • A csővezeték futásának monitorozása.

Előfeltételek

Azure előfizetés

Mielőtt hozzákezdene, ha még nem rendelkezik Azure-előfizetéssel, hozzon létre egy ingyenes fiókot.

Azure szerepkörök

Data Factory-példányok létrehozásához a Azure való bejelentkezéshez használt felhasználói fiókhoz hozzá kell rendelni egy Contributor vagy Owner szerepkört, vagy administrator kell lennie a Azure-előfizetéshez.

Az előfizetésben található engedélyek megtekintéséhez nyissa meg a Azure portált, válassza ki a felhasználónevét a jobb felső sarokban, majd válassza a Permissions lehetőséget. Ha több előfizetéshez is rendelkezik hozzáféréssel, válassza ki a megfelelő előfizetést. A felhasználó szerepkörhöz való hozzáadására vonatkozó mintautasításokért tekintse meg a Assign Azure szerepköröket a Azure portál használatával cikkben.

SQL Server 2014-ben, 2016-ben és 2017-ben

Ebben az oktatóanyagban egy SQL Server adatbázist használ source adattárként. Az ebben az oktatóanyagban létrehozott Data Factory adatfolyamat adatokat másol erről a SQL Server adatbázisból (forrás) az Azure Blob Storage-tárolóba (célhely). Ezután létre kell hoznia egy emp nevű táblát a SQL Server adatbázisban, és beszúrhat néhány mintabejegyzést a táblába.

  1. Indítsa el SQL Server Management Studio. Ha még nincs telepítve a számítógépen, lépjen a SQL Server Management Studio letöltése oldalra.

  2. Csatlakozzon a SQL Server-példányhoz a hitelesítő adataival.

  3. Hozzon létre egy mintaadatbázist. A fanézetben kattintson a jobb gombbal a Databases (Adatbázisok) elemre, majd válassza a New Database (Új adatbázis) elemet.

  4. Az New Database (Új adatbázis) ablakban adjon nevet az új adatbázisnak, majd kattintson az OK gombra.

  5. Az emp tábla létrehozásához és néhány mintaadat beszúrásához futtassa a következő lekérdezési szkriptet az adatbázison. A fanézetben kattintson a jobb gombbal a létrehozott adatbázisra, majd válassza a New Query (Új lekérdezés) elemet.

    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
    

Azure Storage fiók

Ebben az oktatóanyagban egy általános célú Azure tárfiókot (pontosabban Azure Blob Storage-t) használ cél-/fogadóadattárként. Ha nincs általános célú Azure tárfiókja, tekintse meg Tárfiók létrehozása című témakört. Az ebben az oktatóanyagban létrehozott data factory-folyamat adatokat másol a SQL Server adatbázisból (forrásból) ebbe a Azure Blob Storage-tárolóba (fogadóba).

Tárfióknév és fiókkulcs beszerzése

Ebben az oktatóanyagban a Azure tárfiók nevét és kulcsát használja. A tárfiók nevét és kulcsát az alábbi módon szerezheti be:

  1. Jelentkezzen be a Azure portálra Azure felhasználónevével és jelszavával.

  2. A bal oldali ablaktáblán válassza ki a További szolgáltatások lehetőséget, szűrjön rá a Tárolás kulcsszóra, majd válassza ki a Tárfiókok lehetőséget.

    Tárfiók keresése

  3. A tárfiókok listájában állítson be szűrőt a tárfiók nevéhez (ha szükséges), majd válassza ki a tárfiókját.

  4. A Tárfiók ablakban válassza a Hozzáférési kulcsok elemet.

  5. Másolja a Tárfiók neve és 1. kulcs mező értékét, majd illessze be őket egy jegyzettömbbe vagy más szerkesztőbe az oktatóanyag későbbi részeiben történő használatra.

Adftutorial tároló létrehozása

Ebben a szakaszban egy adftutorial nevű blobtárolót hoz létre a Azure Blob Storage-ban.

  1. A Tárfiók ablakban váltson át az Áttekintés panelre, majd válassza a Blobok elemet.

    Blobok kiválasztása

  2. A Blob service ablakban válassza a Tároló elemet.

  3. Az Új tároló ablak Név mezőjébe írja be az adftutorial nevet, majd kattintson az OK gombra.

    Tárolónév megadása

  4. A tárolók listájában kattintson az adftutorial elemre.

  5. Ne zárja be a tároló ablakot az adftutorial számára. A segítségével ellenőrizheti az oktatóanyag eredményét. A Data Factory automatikusan létrehozza a kimeneti mappát a tárolóban, így nem kell újat létrehoznia.

Windows PowerShell

Azure PowerShell telepítése

Megjegyzés

Javasoljuk, hogy az Azure Az PowerShell-modult használja a Azure használatához. Első lépésként lásd: Install Azure PowerShell. Az Az PowerShell-modulra való migrálásról az Migrate Azure PowerShell az AzureRM-ből az Az című témakörben olvashat.

Telepítse a Azure PowerShell legújabb verzióját, ha még nem rendelkezik vele a gépen. Részletes útmutatásért lásd: Hogyan kell telepíteni és konfigurálni Azure PowerShell.

Bejelentkezés a PowerShellbe

  1. Indítsa el a PowerShellt a számítógépen, és ne zárja be a gyors üzembe helyezési oktatóanyag végéig. Ha bezárja és újra megnyitja, akkor újra futtatnia kell ezeket a parancsokat.

  2. Futtassa a következő parancsot, majd adja meg a Azure felhasználónevet és jelszót, amelyet a Azure portálra való bejelentkezéshez használ:

    Connect-AzAccount
    
  3. Ha több Azure előfizetéssel rendelkezik, futtassa az alábbi parancsot a használni kívánt előfizetés kiválasztásához. Cserélje le a SubscriptionId elemet a Azure-előfizetés azonosítójára:

    Select-AzSubscription -SubscriptionId "<SubscriptionId>"   	
    

Adat-előállító létrehozása

  1. Adjon meg egy olyan változót, amelyet később a PowerShell-parancsokban az erőforráscsoport neveként fog használni. Másolja a következő parancsot a PowerShellbe, adja meg a Azure erőforráscsoport nevét (idézőjelek közé zárva, például "adfrg"), majd futtassa a parancsot.

    $resourceGroupName = "ADFTutorialResourceGroup"
    
  2. A Azure erőforráscsoport létrehozásához futtassa a következő parancsot:

    New-AzResourceGroup $resourceGroupName -location 'East US'
    

    Ha az erőforráscsoport már létezik, előfordulhat, hogy nem kívánja felülírni. Rendeljen egy másik értéket a $resourceGroupName változóhoz, majd futtassa újra a parancsot.

  3. Adjon meg egy olyan változót, amelyet később a PowerShell-parancsokban az adat-előállító neveként használhat. A névnek betűvel vagy számmal kell kezdődnie, és csak betűket, számokat és kötőjelet (-) tartalmazhat.

    Fontos

    Frissítse az adat-előállító nevét egy globálisan egyedi névvel. Például: ADFTutorialFactorySP1127.

    $dataFactoryName = "ADFTutorialFactory"
    
  4. Adjon meg egy változót az adat-előállító helyéhez:

    $location = "East US"
    
  5. Az adat-előállító létrehozásához futtassa az alábbi Set-AzDataFactoryV2-parancsmagot:

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

Megjegyzés

  • Az adat-előállító nevének globálisan egyedinek kell lennie. Ha a következő hibaüzenetet kapja, módosítsa a nevet, majd próbálkozzon újra.
    The specified data factory name 'ADFv2TutorialDataFactory' is already in use. Data factory names must be globally unique.
    
  • Data-factory példányok létrehozásához az Azure-hoz való bejelentkezéshez használt felhasználói fióknak rendelkeznie kell contributor vagy owner szerepkörrel, vagy az Azure-előfizetés administrator-ának kell lennie.
  • Azoknak a Azure régióknak a listájához, amelyekben a Data Factory jelenleg elérhető, jelölje ki az Önt érdeklő régiókat az alábbi lapon, majd bontsa ki a Analytics elemet a Data Factory: Régiók szerint elérhető termékek. Az adat-előállító által használt adattárak (Azure Storage, Azure SQL Database stb.) és számításai (Azure HDInsight stb.) más régiókban is lehetnek.

Saját üzemeltetésű Integration Runtime létrehozása

Ebben a szakaszban létrehoz egy saját üzemeltetésű integrációs modult, és társítja azt egy helyszíni géppel a SQL Server adatbázishoz. A saját üzemeltetésű integrációs modul az az összetevő, amely adatokat másol a SQL Server adatbázisból a Azure Blob Storage-ba.

  1. Hozzon létre egy változót az integrációs modul nevéhez. Adjon meg egy egyedi nevet, és jegyezze fel. Az oktatóanyag későbbi részében fogja használni.

    $integrationRuntimeName = "ADFTutorialIR"
    
  2. Hozzon létre önállóan hosztolt integrációs futtatókörnyezetet.

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

    Itt látható a minta kimenete:

    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. Futtassa az alábbi parancsot a létrehozott Integration Runtime állapotának lekéréséhez:

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

    Itt látható a minta kimenete:

    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. Futtassa az alábbi parancsot a hitelesítési kulcsok lekéréséhez, hogy regisztrálhassa a saját üzemeltetésű Integration Runtime-t a felhőben található Data Factory szolgáltatásával. Másolja be az egyik kulcsot (idézőjelek nélkül) a saját üzemeltetésű Integration Runtime regisztrálásához, amelyet a következő lépésben telepíteni fog a gépére.

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

    Itt látható a minta kimenete:

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

Az Integration Runtime telepítése

  1. Töltse le Azure Data Factory Integration Runtime egy helyi Windows gépen, majd futtassa a telepítést.

  2. A Az Microsoft Integration Runtime Beállítás varázslóban válassza a Next lehetőséget.

  3. A Végfelhasználói licencszerződés ablakban fogadja el a felhasználási feltételeket és a licencszerződést, majd válassza a Tovább lehetőséget.

  4. A Célmappa ablakban válassza a Tovább lehetőséget.

  5. A Microsoft Integration Runtime telepítésére kész ablakban válassza a Telepítés lehetőséget.

  6. A Microsoft Integration Runtime telepítő varázslóban válassza a Befejezés lehetőséget.

  7. A Regisztrátor Integration Runtime (saját üzemeltetésű) ablakban illessze be az előző szakaszban mentett kulcsot, majd válassza a Register lehetőséget.

    Integrációs modul regisztrálása

  8. A Új Integration Runtime (saját üzemeltetésű) csomópont ablakban válassza a Finish lehetőséget.

    Új integrációs futtatókörnyezet-csomópont ablak

  9. A helyi Integration Runtime sikeres regisztrációja esetén a következő üzenet jelenik meg:

    Sikeres regisztráció

  10. A Regisztrálás Integration Runtime (saját-üzemeltetésű) ablakban válassza a Konfigurációkezelő indítása lehetőséget.

  11. A csomópont a felhőszolgáltatáshoz való csatlakozásakor a következő üzenet jelenik meg:

    Csomópont csatlakoztatva

  12. Tesztelje a SQL Server adatbázishoz való kapcsolódást az alábbi lépéssel:

    a. A Konfigurációkezelő ablakban váltson a Diagnostics lapra.

    b. Az Adatforrás típusa mezőben válassza az SqlServer lehetőséget.

    c. Adja meg a kiszolgáló nevét.

    d. Adja meg az adatbázis nevét.

    e. Válassza ki a hitelesítési módot.

    f. Adja meg a felhasználónevet.

    g. Adja meg a felhasználónévhez tartozó jelszót.

    h. Annak ellenőrzéséhez, hogy az integrációs modul képes-e csatlakozni a SQL Server, válassza a Test lehetőséget.
    A kapcsolat sikeres volt

    Sikeres csatlakozás esetén egy zöld pipa jelenik meg. Sikertelen csatlakozás esetén a hibához kapcsolódó hibaüzenet jelenik meg. Javítsa ki a problémákat, és győződjön meg arról, hogy az integrációs modul csatlakozni tud a SQL Server-példányhoz.

    Jegyezze fel az összes korábbi értéket, hogy az oktatóanyag további részében is felhasználhassa őket.

Társított szolgáltatások létrehozása

Adattárak és a számítási szolgáltatások adat-előállítóhoz történő társításához társított szolgáltatásokat kell létrehoznia az adat-előállítóban. Ebben az oktatóanyagban az Azure tárfiókot és az SQL Server-példányt kapcsolja össze az adattárral. A társított szolgáltatások azon kapcsolatadatokkal rendelkeznek, amelyeket a Data Factory szolgáltatás használ futtatáskor a hozzájuk való kapcsolódáshoz.

Azure Storage társított szolgáltatás létrehozása (cél/fogadó)

Ebben a lépésben összekapcsolja Azure tárfiókját az adat-előállítóval.

  1. Hozzon létre egy AzureStorageLinkedService.json nevű JSON-fájlt a C:\ADFv2Tutorial mappában a következő kóddal. Ha még nem létezik ADFv2Tutorial nevű mappa, hozzon létre egyet.

    Fontos

    A fájl mentése előtt cserélje le <accountName> és <accountKey> a Azure tárfiók nevére és kulcsára. Ezeket az Előfeltételek szakaszban jegyezte fel.

    {
        "name": "AzureStorageLinkedService",
        "properties": {
            "annotations": [],
            "type": "AzureBlobStorage",
            "typeProperties": {
                "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net"
            }
        }
    }
    
  2. A PowerShellben váltson a C:\ADFv2Tutorial mappára.

    Set-Location 'C:\ADFv2Tutorial'
    
  3. Futtassa a Set-AzDataFactoryV2LinkedService parancsmagot az AzureStorageLinkedService társított szolgáltatás létrehozásához:

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

    Itt látható egy mintakimenet:

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

    Ha „fájl nem található” hiba jelenik meg, a dir parancs futtatásával ellenőrizze, hogy a fájl létezik-e. Ha a fájlnévhez tartozó kiterjesztés .txt (például AzureStorageLinkedService.json.txt), távolítsa el, majd futtassa ismét a PowerShell-parancsot.

Csatolt SQL Server szolgáltatás létrehozása és titkosítása (forrás)

Ebben a lépésben az SQL Server példányt az adatgyárhoz csatolja.

  1. Hozzon létre egy SqlServerLinkedService.json nevű JSON-fájlt a C:\ADFv2Tutorial mappában a következő kód használatával:

    Fontos

    Válassza ki a SQL Server való csatlakozáshoz használt hitelesítésen alapuló szakaszt.

    SQL-hitelesítés használata (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"
            }
        }
    }
    

    A Windows-hitelesítés használata:

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

    Fontos

    • Válassza ki a SQL Server-példányhoz való csatlakozáshoz használt hitelesítésen alapuló szakaszt.
    • Cserélje le <az integrációs futtatókörnyezet nevét> a saját integrációs futtatókörnyezetének nevére.
    • A fájl mentése előtt cserélje le <servername>, <databasename>, <username> és <password> a SQL Server-példány értékeivel.
    • Ha fordított perjelet (\) kell használnia a felhasználói fiókjában vagy a kiszolgáló nevében, akkor az escape karakterrel (\) előzze meg. Használja például a mydomain\\myuser parancsot.
  2. A bizalmas adatok (felhasználónév, jelszó stb.) titkosításához futtassa a New-AzDataFactoryV2LinkedServiceEncryptedCredential parancsmagot.
    A titkosítás a hitelesítő adatokat az adatvédelmi API (DPAPI) segítségével titkosítja. A titkosított hitelesítő adatok tárolása a saját üzemeltetésű integrációs modul csomópontján helyileg történik (a helyi gépen). A kimenő hasznos adatok átirányíthatóak egy másik JSON-fájlba (ebben az esetben az encryptedLinkedService.json fájlba), amely titkosított hitelesítő adatokat tartalmaz.

    New-AzDataFactoryV2LinkedServiceEncryptedCredential -DataFactoryName $dataFactoryName -ResourceGroupName $ResourceGroupName -IntegrationRuntimeName $integrationRuntimeName -File ".\SQLServerLinkedService.json" > encryptedSQLServerLinkedService.json
    
  3. Futtassa az alábbi parancsot, amely létrehozza az EncryptedSqlServerLinkedService fájlt:

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

Adatkészletek létrehozása

Ebben a lépésben bemeneti és kimeneti adatkészleteket hoz létre. Ezek a másolási művelet bemeneti és kimeneti adatait jelölik, amelyek adatokat másolnak a SQL Server adatbázisból Azure Blob Storage-ba.

Adatkészlet létrehozása a forrás SQL Server adatbázishoz

Ebben a lépésben egy olyan adatkészletet határoz meg, amely az SQL Server adatbázispéldányban lévő adatokat jelöli. Az adatkészlet típusa SqlServerTable. Az előző lépésben létrehozott SQL Server társított szolgáltatásra vonatkozik. A társított szolgáltatás rendelkezik azokkal a kapcsolati információkkal, amelyeket a Data Factory szolgáltatás használ a SQL Server-példányhoz való csatlakozáshoz futásidőben. Ez az adatkészlet határozza meg az SQL-táblát az adatokat tartalmazó adatbázisban. Ebben az oktatóanyagban a forrásadatokat az emp tábla tartalmazza.

  1. Hozzon létre egy SqlServerDataset.json nevű JSON-fájlt a C:\ADFv2Tutorial mappában a következő kóddal:

    {  
        "name":"SqlServerDataset",
        "properties":{  
            "linkedServiceName":{  
                "referenceName":"EncryptedSqlServerLinkedService",
                "type":"LinkedServiceReference"
            },
            "annotations":[  
    
            ],
            "type":"SqlServerTable",
            "schema":[  
    
            ],
            "typeProperties":{  
                "schema":"dbo",
                "table":"emp"
            }
        }
    }
    
  2. Az SqlServerDataset adatkészlet létrehozásához futtassa a Set-AzDataFactoryV2Dataset parancsmagot.

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

    Itt látható a minta kimenete:

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

Adatkészlet létrehozása Azure Blob Storage-tárolóhoz (fogadó)

Ebben a lépésben egy olyan adatkészletet határoz meg, amely az Azure Blob Storage-ba másolandó adatokat jelöli. Az adatkészlet típusa AzureBlob. Az oktatóanyag korábbi részében létrehozott Azure Storage társított szolgáltatásra hivatkozik.

A társított szolgáltatás rendelkezik azokkal a kapcsolati információkkal, amelyeket a data factory futásidőben használ a Azure tárfiókhoz való csatlakozáshoz. Ez az adatkészlet azt a mappát adja meg a Azure tárban, ahová az adatokat átmásolja a SQL Server adatbázisból. Ebben az oktatóanyagban a mappa a következő: adftutorial/fromonprem, ahol az adftutorial a blobtároló, a fromonprem pedig a mappa.

  1. Hozzon létre egy AzureBlobDataset.json nevű JSON-fájlt a C:\ADFv2Tutorial mappában a következő kóddal:

    {  
        "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. Az AzureBlobDataset adatkészlet létrehozásához futtassa a Set-AzDataFactoryV2Dataset parancsmagot.

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

    Itt látható a minta kimenete:

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

Folyamat létrehozása

Ebben az oktatóanyagban létrehoz egy másolási feladatot tartalmazó folyamatot. A másolási tevékenység az SqlServerDataset készletet használja bemeneti adatkészletként, illetve az AzureBlobDataset készletet kimeneti adatkészletként. A forrás típusa SqlSource, a fogadó típusa BlobSink.

  1. Hozzon létre egy SqlServerToBlobPipeline.json nevű JSON-fájlt a C:\ADFv2Tutorial mappában a következő kóddal:

    {  
        "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. Az SQLServerToBlobPipeline folyamat létrehozásához futtassa a Set-AzDataFactoryV2Pipeline parancsmagot.

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

    Itt látható a minta kimenete:

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

Folyamatlánc indítása

Indítsa el az SQLServerToBlobPipeline folyamat futását, és őrizze meg a folyamat futtatási azonosítóját későbbi monitorozás céljából.

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

A folyamat futásának monitorozása

  1. Az SQLServerToBlobPipeline folyamat futási állapotának folyamatos ellenőrzéséhez futtassa a következő szkriptet PowerShellben, majd nyomtassa ki a végső eredményt:

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

    Itt látható a példa futtatás kimenete:

    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. Az SQLServerToBlobPipeline folyamat futtatási azonosítójának lekéréséhez és a tevékenységfuttatás részletes eredményének áttekintéséhez futtassa az alábbi parancsot:

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

    Itt látható a példa futtatás kimenete:

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

Kimenet ellenőrzése

A folyamat automatikusan létrehozza a fromonprem nevű kimeneti mappát az adftutorial blobtárolóban. Győződjön meg arról, hogy a dbo.emp.txt fájl megjelenik a kimeneti mappában.

  1. A Azure portál adftutorial tárolóablakában válassza a Refresh lehetőséget a kimeneti mappa megtekintéséhez.

  2. A mappák listájában válassza a fromonprem elemet.

  3. Ellenőrizze, hogy megjelenik-e a dbo.emp.txt nevű fájl.

    Kimeneti fájl

A mintában szereplő folyamat adatokat másol egyik helyről a másikra Azure Blob Storage-ban. Megtanulta végrehajtani az alábbi műveleteket:

  • Adat-előállító létrehozása
  • Hozzon létre önállóan hosztolt integrációs futtatókörnyezetet.
  • Kapcsolt szolgáltatások létrehozása az SQL Serverhez és az Azure Storage-hoz.
  • SQL Server és Azure Blob adatkészletek létrehozása.
  • Folyamat létrehozása másolási tevékenységgel az adatok áthelyezéséhez
  • Folyamat futásának indítása
  • A csővezeték futásának monitorozása.

A Data Factory által támogatott adattárak listáját a támogatott adattárak cikk tartalmazza.

Folytassa a következő oktatóanyaggal, amelyben az adatok egy forrásból egy célhelyre történő tömeges másolását ismerheti meg: