Oktatóanyag: Adatok másolása SQL Server-adatbázisból az Azure Blob Storage-ba
A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics
Tipp.
Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!
Ebben az oktatóanyagban az Azure PowerShell használatával hoz létre egy adat-előállító folyamatot, amely adatokat másol egy SQL Server-adatbázisból az Azure Blob Storage-ba. 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.
Feljegyzés
Ez a cikk nem mutatja be részletesen a Data Factory szolgáltatást. További információkért lásd: Az Azure Data Factory bemutatása.
Az oktatóanyagban az alábbi lépéseket fogja végrehajtani:
- Adat-előállító létrehozása
- Hozzon létre helyi integrációs modult.
- SQL Server- és Azure Storage-beli társított szolgáltatások létrehozása.
- 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 folyamat futásának monitorozása.
Előfeltételek
Azure-előfizetés
Ha még nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes fiókot.
Azure-szerepkörök
Az adat-előállító példányok létrehozásához annak a felhasználói fióknak, amellyel bejelentkezik az Azure-ba, a közreműködő vagy tulajdonos szerepkör tagjának, vagy az Azure-előfizetés rendszergazdájának kell lennie.
Az előfizetésben található engedélyek megtekintéséhez kattintson az Azure Portalon a felhasználónevére a jobb felső sarokban, majd válassza az Engedélyek elemet. 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ásért tekintse meg az Azure-szerepkörök hozzárendelése az Azure Portalon című cikket.
SQL Server 2014, 2016 és 2017
Ebben az oktatóanyagban egy SQL Server-adatbázist használ forrásadattárként. Az oktatóanyagban létrehozott data factory-folyamat adatokat másol ebből az SQL Server-adatbázisból (forrásból) az Azure Blob Storage-ba (fogadóba). Ezután létre fog hozni egy emp nevű táblát az SQL Server-adatbázisban, és beszúr a táblába néhány mintabejegyzést.
Indítsa el az SQL Server Management Studiót. Ha még nincs telepítve a számítógépen, tekintse meg az Az SQL Server Management Studio letöltését ismertető szakaszt.
Csatlakozzon az SQL Server-példányához a hitelesítő adataival.
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.
Az New Database (Új adatbázis) ablakban adjon nevet az új adatbázisnak, majd kattintson az OK gombra.
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 Storage-fiókot (ebben az esetben Azure Blob Storage-tárolót) használunk cél-/fogadóadattárként. Ha még nem rendelkezik általános célú Azure Storage-fiókkal, tekintse meg a Tárfiók létrehozását ismertető cikket. Az oktatóanyagban létrehozott data factory-folyamat adatokat másol az SQL Server-adatbázisból (forrásból) ebbe az Azure Blob Storage-tárolóba (fogadóba).
Tárfióknév és fiókkulcs beszerzése
Ebben az oktatóanyagban az Azure Storage-fiók nevét és kulcsát használjuk. A tárfiók nevét és kulcsát az alábbi módon szerezheti be:
Jelentkezzen be az Azure Portalra az Azure felhasználónevével és jelszavával.
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.
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.
A Tárfiók ablakban válassza a Hozzáférési kulcsok elemet.
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 az Azure Blob Storage-ban.
A Tárfiók ablakban váltson át az Áttekintés panelre, majd válassza a Blobok elemet.
A Blob service ablakban válassza a Tároló elemet.
Az Új tároló ablak Név mezőjébe írja be az adftutorial nevet, majd kattintson az OK gombra.
A tárolók listájában kattintson az adftutorial elemre.
Ne zárja be az adftutorialtároló ablakát. 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
Az Azure PowerShell telepítése
Feljegyzés
Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg az Azure PowerShell telepítését ismertető szakaszt. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.
Ha még nincs a gépén, telepítse az Azure PowerShell legújabb verzióját. Részletes információk: Az Azure PowerShell telepítése és konfigurálása.
Bejelentkezés a PowerShellbe
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.
Futtassa a következő parancsot, majd adja meg az Azure Portalra való bejelentkezéshez használt Azure-beli felhasználói nevét és jelszavát:
Connect-AzAccount
Ha több Azure-előfizetéssel rendelkezik, futtassa a következő parancsot a használni kívánt előfizetés kiválasztásához. Cserélje le a SubscriptionId kifejezést az Azure-előfizetés azonosítójára:
Select-AzSubscription -SubscriptionId "<SubscriptionId>"
Adat-előállító létrehozása
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 az alábbi parancsszöveget a PowerShellbe, adja meg az Azure-erőforráscsoport nevét (idézőjelek között, például így:
"adfrg"
), majd futtassa a parancsot.$resourceGroupName = "ADFTutorialResourceGroup"
Futtassa az alábbi parancsot az Azure-erőforráscsoport létrehozásához:
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.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"
Adjon meg egy változót az adat-előállító helyéhez:
$location = "East US"
Az adat-előállító létrehozásához futtassa az alábbi
Set-AzDataFactoryV2
-parancsmagot:Set-AzDataFactoryV2 -ResourceGroupName $resourceGroupName -Location $location -Name $dataFactoryName
Feljegyzé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.
- Az adat-előállító példányok létrehozásához annak a felhasználói fióknak, amellyel belép az Azure-ba, a közreműködő vagy tulajdonos szerepkör tagjának, vagy az Azure-előfizetés rendszergazdájának kell lennie.
- Azon Azure-régiók megtekintéséhez, amelyekben jelenleg elérhető a Data Factory, a következő lapon válassza ki az Önt érdeklő régiókat, majd bontsa ki az Elemzés részt, és keresse meg a Data Factory: Elérhető termékek régiók szerint szakaszt. Az adat-előállítók által használt adattárak (Azure Storage, Azure SQL Database stb.) és számítási erőforrások (Azure HDInsight stb.) más régiókban is lehetnek.
Saját üzemeltetésű Integration Runtime létrehozása
Ebben a szakaszban egy saját üzemeltetésű Integration Runtime átjárót hozhat létre, és társíthatja azt az SQL Server-adatbázist futtató helyszíni géppel. A saját üzemeltetésű Integration Runtime az a komponens, amely adatokat másol a gépen futó SQL Server-adatbázisból az Azure Blob Storage-ba.
Hozzon létre egy változót az integrációs modul nevéhez. Adjon meg egy egyedi nevet, és jegyezze fel. Az oktatóanyagban későbbi részében használni fogja.
$integrationRuntimeName = "ADFTutorialIR"
Hozzon létre helyi integrációs modult.
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>
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>
Futtassa az alábbi parancsot a hitelesítési kulcsok lekéréséhez, hogy a saját üzemeltetésű Integration Runtime átjárót regisztrálhassa a Data Factory-szolgáltatásban a felhőben. 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
Töltse le az Azure Data Factory Integration Runtime modult egy helyi Windows-gépre, és futtassa a telepítést.
A Microsoft Integration Runtime telepítővarázslójának üdvözlő oldalán kattintson a Tovább gombra.
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.
A Célmappa ablakban válassza a Tovább lehetőséget.
A Microsoft Integration Runtime telepítésre kész ablakban kattintson a Telepítés gombra.
A Microsoft Integration Runtime telepítővarázslójának befejező lapján kattintson a Befejezés gombra.
Az Integration Runtime (helyi) regisztrálása ablakban illessze be az előző szakaszban mentett kulcsot, és kattintson a Regisztráció gombra.
Az Új Integration Runtime (helyi) Csomópont ablakban válassza a Befejezés lehetőséget.
A helyi Integration Runtime sikeres regisztrációja esetén a következő üzenet jelenik meg:
Az Integration Runtime (helyi) regisztrálása ablakban kattintson A Configuration Manager indítása gombra.
A csomópont a felhőszolgáltatáshoz való csatlakozásakor a következő üzenet jelenik meg:
Teszteltje az SQL Server-adatbázissal létesített kapcsolatot az alábbi módon:
a. A Configuration Manager ablakban váltson a Diagnosztika 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.
: Adja meg a felhasználónévhez tartozó jelszót.
h. Annak ellenőrzéséhez, hogy az Integration Runtime kapcsolódik-e az SQL Serverhez, kattintson a Teszt gombra.
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 hibákat, és ellenőrizze, hogy az Integration Runtime kapcsolódik-e az 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 Storage-fiókot és az SQL Server-példányt az adattárhoz csatolja. 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-beli társított szolgáltatás (cél/fogadó) létrehozása
Ebben a lépésben az Azure Storage-fiókot társítja az adat-előállítóval.
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 <az accountName> és <accountKey> nevet az Azure Storage-fió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" } } }
A PowerShellben váltson a C:\ADFv2Tutorial mappára.
Set-Location 'C:\ADFv2Tutorial'
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.
SQL Server-alapú társított szolgáltatás létrehozása és titkosítása (forrás)
Ebben a lépésben az SQL Server-példányt az adat-előállítóhoz csatolja.
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 az SQL Serverhez való kapcsolódáshoz használt hitelesítési módszernek megfelelő 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" } } }
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 az SQL Server-példányhoz való kapcsolódáshoz használt hitelesítési módszernek megfelelő szakaszt.
- Cserélje le <az integrációs modul nevét> az integrációs modul nevére.
- A fájl mentése előtt cserélje le <a kiszolgálónevet>, <az adatbázisnevet>,< a felhasználónevet> és <a jelszót> az SQL Server-példány értékeire.
- Ha fordított perjelet (\) kell használnia a felhasználói fiókjában vagy a kiszolgáló nevében, akkor a feloldó karakterrel (\) előzze meg. Használja például a mydomain\\myuser parancsot.
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
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 az SQL Server-adatbázisból az Azure Blob Storage-ba.
Adatkészlet létrehozása a forrás SQL Server-adatbázishoz
Ebben a lépésben megadhat egy adatkészletet, amely az SQL Server-adatbázispéldányban tárolt adatokat jelöli. Az adatkészlet típusa SqlServerTable. Ez az előző lépésben létrehozott SQL Server társított szolgáltatásra vonatkozik. A társított szolgáltatás azon kapcsolatadatokkal rendelkezik, amelyeket a Data Factory szolgáltatás használ futtatáskor az SQL Server-példányhoz való kapcsolódásra. 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.
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" } } }
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 a Azure Blob Storage-hez (fogadó)
Ebben a lépésben az Azure Blob Storage-be másolni kívánt adatokat képviselő adatkészletet adja meg. Az adatkészlet típusa AzureBlob. Ez az oktatóanyagban korábban létrehozott Azure Storage társított szolgáltatásra vonatkozik.
A társított szolgáltatás azon kapcsolatadatokkal rendelkezik, amelyeket az adat-előállító használ futtatáskor az Azure Storage-fiókhoz való kapcsolódásra. Ez az adatkészlet azt az Azure Storage-beli mappát határozza meg, amelybe a rendszer az adatokat másolja az 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.
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" }
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étre fog hozni egy másolási tevékenységgel rendelkező 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.
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":[ ] } }
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 :
Folyamat futásának létrehozá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
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]...}
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.
Az Azure Portal adftutorial tároló ablakában kattintson a Frissítés elemre a kimeneti mappa megtekintéséhez.
A mappák listájában válassza a
fromonprem
elemet.Ellenőrizze, hogy megjelenik-e a
dbo.emp.txt
nevű fájl.
Kapcsolódó tartalom
A példában szereplő folyamat adatokat másol az egyik helyről egy másikra egy Azure Blob Storage-ban. Megtanulta végrehajtani az alábbi műveleteket:
- Adat-előállító létrehozása
- Hozzon létre helyi integrációs modult.
- SQL Server- és Azure Storage-beli társított szolgáltatások létrehozása.
- 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 folyamat 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: