Rövid útmutató: Azure Data Factory létrehozása a PowerShell használatával
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!
Ez a rövid útmutató bemutatja, hogyan hozhat létre Azure Data Factoryt a PowerShell használatával. Az adat-előállítóban létrehozott folyamat adatokat másol egy Azure-blobtároló egyik mappájából egy másikba. Az adatok Azure Data Factoryval történő átalakításának útmutatásáért olvassa el az az adatok Spark segítségével történő átalakítását ismertető oktatóanyagot.
Feljegyzés
Ez a cikk nem mutatja be részletesen a Data Factory szolgáltatást. Ha szeretné megismerni az Azure Data Factoryt, tekintse meg Az Azure Data Factory bemutatását.
Előfeltételek
Azure-előfizetés
Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
Azure-szerepkörök
Data Factory-példányok létrehozásához az Azure-ba történő bejelentkezéshez használt felhasználói fióknak 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 lévő engedélyek megtekintéséhez nyissa meg az Azure Portalt, válassza ki a felhasználónevét a jobb felső sarokban, válassza a "..." ikont a további lehetőségekhez, majd válassza a Saját engedélyek lehetőséget. Ha több előfizetéshez is rendelkezik hozzáféréssel, válassza ki a megfelelő előfizetést.
A Data Factory gyermekerőforrásai – beleértve az adatkészletek, társított szolgáltatások, folyamatok, eseményindítók és integrációs modulok – létrehozására és kezelésére az alábbi követelmények vonatkoznak:
- A gyermekerőforrások Microsoft Azure Portalon való létrehozásához és kezeléséhez a Data Factory közreműködője szerepkörhöz kell tartoznia az erőforráscsoport szintjén vagy felette.
- A gyermekerőforrások PowerShell-lel vagy az SDK-val való létrehozásához és kezeléséhez a közreműködő szerepkör is elegendő az erőforráscsoport szintjén vagy felette.
Ha szeretne példautasításokat látni arra, hogyan kell egy felhasználót a szerepkörhöz adni, olvassa el a Szerepkörök hozzáadása című cikket.
További információkért tekintse meg a következő cikkeket:
Azure Storage-fiók
Ebben a rövid útmutatóban egy általános célú Azure Storage-fiókot (pontosabban Blob Storage-t) használ forrás- és céladattárként. Ha nem rendelkezik általános célú Azure Storage-fiókkal, a tárfiók létrehozásához tekintse meg a Tárfiók létrehozása című témakört.
A tárfiók nevének lekérése
Ehhez a rövid útmutatóhoz szüksége van az Azure Storage-fiók nevére. Az alábbi eljárás lépéseket tartalmaz a tárfiók nevének lekéréséhez:
- Egy webböngészőben nyissa meg az Azure Portalt , és jelentkezzen be az Azure-felhasználónevével és jelszavával.
- Az Azure Portal menüjében válassza a Minden szolgáltatás, majd a Storage-fiókok> lehetőséget. A Tárfiókokat bármelyik lapról megkeresheti és kiválaszthatja.
- A Tárfiókok lapon szűrjön a tárfiókra (ha szükséges), majd válassza ki a tárfiókot.
A Tárfiókokat bármelyik lapról megkeresheti és kiválaszthatja.
Blobtá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 lapján válassza az Áttekintés>tárolók lehetőséget.
<A Fióknév> - tárolók lap eszköztárán válassza a Tároló lehetőséget.
Az Új tároló párbeszédablakban adja meg az adftutorial nevet, és kattintson az OK gombra. A <Fióknév> - tárolók lapja úgy frissül, hogy az adftutorial szerepeljen a tárolók listájában.
Bemeneti mappa és fájl hozzáadása a blobtárolóhoz
Ebben a szakaszban létrehoz egy bemenet nevű mappát a létrehozott tárolóban, majd feltölt egy mintafájlt a bemeneti mappába. Mielőtt hozzákezdene, nyisson meg egy szövegszerkesztőt, például a Jegyzettömbet, és hozzon létre egy emp.txt nevű fájlt a következő tartalommal:
John, Doe
Jane, Doe
Mentse a fájlt a C:\ADFv2QuickStartPSH mappába. (Ha a mappa még nem létezik, hozza létre.) Ezután térjen vissza az Azure Portalra, és kövesse az alábbi lépéseket:
<A Fióknév> - tárolók lapján, ahol abbahagyta, válassza az adftutorial lehetőséget a frissített tárolók listájából.
- Ha bezárta az ablakot, vagy egy másik oldalra ment, jelentkezzen be újra az Azure Portalra .
- Az Azure Portal menüjében válassza a Minden szolgáltatás, majd a Storage-fiókok> lehetőséget. A Tárfiókokat bármelyik lapról megkeresheti és kiválaszthatja.
- Válassza ki a tárfiókot, majd válassza a Tárolók>adftutorial lehetőséget.
Az adftutorial tárolóoldal eszköztárán válassza a Feltöltés lehetőséget.
A Blob feltöltése lapon válassza a Fájlok mezőt, majd keresse meg és válassza ki a emp.txt fájlt.
Bontsa ki a Speciális címsort. A lap most az alábbi módon jelenik meg:
A Feltöltés mappába mezőbe írja be a bemenetet.
Kattintson a Feltöltés gombra. A listában meg kell jelennie az emp.txt fájlnak és a feltöltés állapotának.
A Blob feltöltése lap bezárásához válassza a Bezárás ikont (X).
Tartsa nyitva az adftutorial tárolólapot. A segítségével ellenőrizheti ennek a rövid útmutatónak az eredményét.
Azure PowerShell
Feljegyzés
Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Első lépésként tekintse meg az Azure PowerShell telepítését ismertető témakört. 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.
Kövesse az Azure PowerShell telepítését és konfigurálását ismertető cikkben szereplő utasításokat a legújabb Azure PowerShell-modulok telepítéséhez.
Figyelmeztetés
Ha nem a PowerShell és a Data Factory modul legújabb verzióit használja, deszerializálási hibákba ütközhet a parancsok futtatása közben.
Bejelentkezés a PowerShellbe
Indítsa el a gépén a PowerShellt. A PowerShellt hagyja megnyitva a rövid útmutató végéig. Ha bezárja és újra megnyitja, akkor újra futtatnia kell ezeket a parancsokat.
Futtassa a következő parancsot, és adja meg az Azure Portalra való bejelentkezéshez használt Azure-beli felhasználónevét és jelszavát:
Connect-AzAccount
Futtassa a következő parancsot a fiókhoz tartozó előfizetések megtekintéséhez.
Get-AzSubscription
Ha több előfizetés is tartozik a fiókjához, 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, majd futtassa a parancsot. Például:
"ADFQuickStartRG"
$resourceGroupName = "ADFQuickStartRG";
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 parancsotFuttassa az alábbi parancsot az Azure-erőforráscsoport létrehozásához:
$ResGrp = 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 változót az adat-előállító nevéhez.
Fontos
Frissítse az adat-előállító nevét, hogy globálisan egyedi legyen. Például: ADFTutorialFactorySP1127.
$dataFactoryName = "ADFQuickStartFactory";
Az adat-előállító létrehozásához futtassa a következő Set-AzDataFactoryV2 parancsmagot az $ResGrp változó Hely és ResourceGroupName tulajdonságával:
$DataFactory = Set-AzDataFactoryV2 -ResourceGroupName $ResGrp.ResourceGroupName ` -Location $ResGrp.Location -Name $dataFactoryName
Vegye figyelembe az alábbiakat:
Az Azure Data Factory 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 'ADFv2QuickStartDataFactory' is already in use. Data Factory names must be globally unique.
Data Factory-példányok létrehozásához a felhasználói fióknak, amellyel belép az Azure-ba, a közreműködő vagy tulajdonos szerepkörök 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 (HDInsight stb.) más régiókban is lehetnek.
Társított szolgáltatás létrehozása
Társított szolgáltatásokat hozhat létre egy adat-előállítóban az adattárak és a számítási szolgáltatások adat-előállítóhoz történő társításához. Ebben a rövid útmutatóban létrehoz egy Azure Storage-beli társított szolgáltatást, amely forrás- és fogadóadattárként is használható. A társított szolgáltatás azon kapcsolatadatokkal rendelkezik, amelyeket a Data Factory szolgáltatás használ futtatáskor a hozzá való kapcsolódáshoz.
Tipp.
Ebben a rövid útmutatóban a fiókkulcsot használja az adattár hitelesítési típusaként, de más támogatott hitelesítési módszereket is választhat: SAS URI, szolgáltatásnév és felügyelt identitás, ha szükséges. A részletekért tekintse meg a cikk megfelelő szakaszait. Az adattárak titkos kulcsainak biztonságos tárolásához javasoljuk az Azure Key Vault használatát is. Részletes illusztrációkat ebben a cikkben talál.
Hozzon létre egy AzureStorageLinkedService.json nevű JSON-fájlt a C:\ADFv2QuickStartPSH mappában az alábbi tartalommal (ha még nem létezne, hozza létre az ADFv2QuickStartPSH nevű mappát).
Fontos
A fájl mentése előtt az <accountName> és az <accountKey> kifejezést cserélje le az Azure Storage-fiók nevére és kulcsára.
{ "name": "AzureStorageLinkedService", "properties": { "annotations": [], "type": "AzureBlobStorage", "typeProperties": { "connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net" } } }
Ha a Jegyzettömböt használja, a Mentés másként párbeszédpanel Fájltípus mezőjénél válassza a Minden fájl lehetőséget. Ellenkező esetben a rendszer
.txt
kiterjesztést adhat a fájlhoz. Például:AzureStorageLinkedService.json.txt
. Ha létrehozza a fájlt a Fájlkezelőben, mielőtt megnyitná a Jegyzettömbben, előfordulhat, hogy nem fogja látni a hozzáadott.txt
kiterjesztést, mivel alapértelmezés szerint engedélyezve van az Ismert fájltípusok kiterjesztéseinek elrejtése beállítás. A továbblépés előtt távolítsa el a hozzáadott.txt
kiterjesztést.A PowerShellben lépjen az ADFv2QuickStartPSH mappára.
Set-Location 'C:\ADFv2QuickStartPSH'
Futtassa a Set-AzDataFactoryV2LinkedService parancsmagot a társított szolgáltatás létrehozásához: AzureStorageLinkedService.
Set-AzDataFactoryV2LinkedService -DataFactoryName $DataFactory.DataFactoryName ` -ResourceGroupName $ResGrp.ResourceGroupName -Name "AzureStorageLinkedService" ` -DefinitionFile ".\AzureStorageLinkedService.json"
Itt látható a minta kimenete:
LinkedServiceName : AzureStorageLinkedService ResourceGroupName : <resourceGroupName> DataFactoryName : <dataFactoryName> Properties : Microsoft.Azure.Management.DataFactory.Models.AzureBlobStorageLinkedService
Adatkészletek létrehozása
A feladat részeként két adatkészletet hoz létre, az InputDataset és az OutputDataset adatkészletet. Ezek az adatkészletek bináris típusúak. Az előző szakaszban létrehozott Azure Storage-beli társított szolgáltatásra hivatkoznak. A bemeneti adatkészlet a bemeneti mappában lévő forrásadatokat jelenti. A bemeneti adatkészlet definíciójában adhatja meg a forrásadatokat tartalmazó blobtároló (adftutorial), mappa (input) és fájl (emp.txt) nevét. A kimeneti adatkészlet a célhelyre másolt adatokat jelenti. A kimeneti adatkészlet definíciójában adhatja meg annak a blobtárolónak (adftutorial), mappának (output) és fájlnak a nevét, amelybe az adatok át lesznek másolva.
Hozzon létre egy InputDataset.json nevű JSON-fájlt a C:\ADFv2QuickStartPSH mappában a következő tartalommal:
{ "name": "InputDataset", "properties": { "linkedServiceName": { "referenceName": "AzureStorageLinkedService", "type": "LinkedServiceReference" }, "annotations": [], "type": "Binary", "typeProperties": { "location": { "type": "AzureBlobStorageLocation", "fileName": "emp.txt", "folderPath": "input", "container": "adftutorial" } } } }
Az adatkészlet létrehozásához futtassa a Set-AzDataFactoryV2Dataset parancsmagot az InputDataset parancsmaggal.
Set-AzDataFactoryV2Dataset -DataFactoryName $DataFactory.DataFactoryName ` -ResourceGroupName $ResGrp.ResourceGroupName -Name "InputDataset" ` -DefinitionFile ".\InputDataset.json"
Itt látható a minta kimenete:
DatasetName : InputDataset ResourceGroupName : <resourceGroupname> DataFactoryName : <dataFactoryName> Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.BinaryDataset
A kimeneti adatkészlet létrehozásához ismételje meg ezeket a lépéseket. Hozzon létre egy OutputDataset.json nevű JSON-fájlt a C:\ADFv2QuickStartPSH mappában a következő tartalommal:
{ "name": "OutputDataset", "properties": { "linkedServiceName": { "referenceName": "AzureStorageLinkedService", "type": "LinkedServiceReference" }, "annotations": [], "type": "Binary", "typeProperties": { "location": { "type": "AzureBlobStorageLocation", "folderPath": "output", "container": "adftutorial" } } } }
Futtassa a Set-AzDataFactoryV2Dataset parancsmagot az OutDataset létrehozásához.
Set-AzDataFactoryV2Dataset -DataFactoryName $DataFactory.DataFactoryName ` -ResourceGroupName $ResGrp.ResourceGroupName -Name "OutputDataset" ` -DefinitionFile ".\OutputDataset.json"
Itt látható a minta kimenete:
DatasetName : OutputDataset ResourceGroupName : <resourceGroupname> DataFactoryName : <dataFactoryName> Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.BinaryDataset
Folyamat létrehozása
Ebben az eljárásban egy másolási tevékenységgel rendelkező folyamatot hoz létre, amely a bemeneti és kimeneti adatkészleteket használja. A másolási tevékenység adatokat másol a bemeneti adatkészlet beállításaiban megadott fájlból a kimeneti adatkészlet beállításaiban megadott fájlba.
Hozzon létre egy Adfv2QuickStartPipeline.json nevű JSON-fájlt a C:\ADFv2QuickStartPSH mappában az alábbi tartalommal.
{ "name": "Adfv2QuickStartPipeline", "properties": { "activities": [ { "name": "CopyFromBlobToBlob", "type": "Copy", "dependsOn": [], "policy": { "timeout": "7.00:00:00", "retry": 0, "retryIntervalInSeconds": 30, "secureOutput": false, "secureInput": false }, "userProperties": [], "typeProperties": { "source": { "type": "BinarySource", "storeSettings": { "type": "AzureBlobStorageReadSettings", "recursive": true } }, "sink": { "type": "BinarySink", "storeSettings": { "type": "AzureBlobStorageWriteSettings" } }, "enableStaging": false }, "inputs": [ { "referenceName": "InputDataset", "type": "DatasetReference" } ], "outputs": [ { "referenceName": "OutputDataset", "type": "DatasetReference" } ] } ], "annotations": [] } }
A folyamat létrehozásához futtassa a Set-AzDataFactoryV2Pipeline parancsmagot az Adfv2QuickStartPipeline parancsmaggal.
$DFPipeLine = Set-AzDataFactoryV2Pipeline ` -DataFactoryName $DataFactory.DataFactoryName ` -ResourceGroupName $ResGrp.ResourceGroupName ` -Name "Adfv2QuickStartPipeline" ` -DefinitionFile ".\Adfv2QuickStartPipeline.json"
Folyamat futásának létrehozása
Ebben a lépésben létrehoz egy folyamatfuttatást.
Futtassa az Invoke-AzDataFactoryV2Pipeline parancsmagot egy folyamatfuttatás létrehozásához. A parancsmag visszaadja a folyamat futásának azonosítóját a későbbi monitorozás céljából.
$RunId = Invoke-AzDataFactoryV2Pipeline `
-DataFactoryName $DataFactory.DataFactoryName `
-ResourceGroupName $ResGrp.ResourceGroupName `
-PipelineName $DFPipeLine.Name
A folyamat futásának monitorozása
A folyamat futási állapotának folyamatos, az adatok másolásának befejezéséig tartó ellenőrzéséhez futtassa az alábbi PowerShell-szkriptet. Másolja/illessze be az alábbi szkriptet a PowerShell-ablakba, majd nyomja le az Enter billentyűt.
while ($True) { $Run = Get-AzDataFactoryV2PipelineRun ` -ResourceGroupName $ResGrp.ResourceGroupName ` -DataFactoryName $DataFactory.DataFactoryName ` -PipelineRunId $RunId if ($Run) { if ( ($Run.Status -ne "InProgress") -and ($Run.Status -ne "Queued") ) { Write-Output ("Pipeline run finished. The status is: " + $Run.Status) $Run break } Write-Output ("Pipeline is running...status: " + $Run.Status) } Start-Sleep -Seconds 10 }
Itt látható a folyamat futásának mintakimenete:
Pipeline is running...status: InProgress Pipeline run finished. The status is: Succeeded ResourceGroupName : ADFQuickStartRG DataFactoryName : ADFQuickStartFactory RunId : 00000000-0000-0000-0000-0000000000000 PipelineName : Adfv2QuickStartPipeline LastUpdated : 8/27/2019 7:23:07 AM Parameters : {} RunStart : 8/27/2019 7:22:56 AM RunEnd : 8/27/2019 7:23:07 AM DurationInMs : 11324 Status : Succeeded Message :
A másolási tevékenység futtatási részleteinek (például az írt vagy olvasott adatok méretének) lekéréséhez futtassa az alábbi szkriptet.
Write-Output "Activity run details:" $Result = Get-AzDataFactoryV2ActivityRun -DataFactoryName $DataFactory.DataFactoryName -ResourceGroupName $ResGrp.ResourceGroupName -PipelineRunId $RunId -RunStartedAfter (Get-Date).AddMinutes(-30) -RunStartedBefore (Get-Date).AddMinutes(30) $Result Write-Output "Activity 'Output' section:" $Result.Output -join "`r`n" Write-Output "Activity 'Error' section:" $Result.Error -join "`r`n"
Győződjön meg arról, hogy a kimenet hasonlít az alábbi tevékenységfuttatás eredményének mintakimenetéhez:
ResourceGroupName : ADFQuickStartRG DataFactoryName : ADFQuickStartFactory ActivityRunId : 00000000-0000-0000-0000-000000000000 ActivityName : CopyFromBlobToBlob PipelineRunId : 00000000-0000-0000-0000-000000000000 PipelineName : Adfv2QuickStartPipeline Input : {source, sink, enableStaging} Output : {dataRead, dataWritten, filesRead, filesWritten...} LinkedServiceName : ActivityRunStart : 8/27/2019 7:22:58 AM ActivityRunEnd : 8/27/2019 7:23:05 AM DurationInMs : 6828 Status : Succeeded Error : {errorCode, message, failureType, target} Activity 'Output' section: "dataRead": 20 "dataWritten": 20 "filesRead": 1 "filesWritten": 1 "sourcePeakConnections": 1 "sinkPeakConnections": 1 "copyDuration": 4 "throughput": 0.01 "errors": [] "effectiveIntegrationRuntime": "DefaultIntegrationRuntime (Central US)" "usedDataIntegrationUnits": 4 "usedParallelCopies": 1 "executionDetails": [ { "source": { "type": "AzureBlobStorage" }, "sink": { "type": "AzureBlobStorage" }, "status": "Succeeded", "start": "2019-08-27T07:22:59.1045645Z", "duration": 4, "usedDataIntegrationUnits": 4, "usedParallelCopies": 1, "detailedDurations": { "queuingDuration": 3, "transferDuration": 1 } } ] Activity 'Error' section: "errorCode": "" "message": "" "failureType": "" "target": "CopyFromBlobToBlob"
Üzembe helyezett erőforrások áttekintése
A folyamat automatikusan létrehozza a kimeneti mappát az adftutorial blobtárolóban. Ezután átmásolja az emp.txt fájlt a bemeneti mappából a kimeneti mappába.
Az Azure Portal adftutorial tárolólapján válassza a Frissítés lehetőséget a kimeneti mappa megtekintéséhez.
Válassza ki a kimenetet a mappalistában.
Ellenőrizze, hogy az emp.txt fájl bekerült-e a kimeneti mappába.
Az erőforrások eltávolítása
Kétféleképpen távolíthatja el a rövid útmutatóban létrehozott erőforrásokat. Törölheti az Azure-erőforráscsoportot, amely tartalmazza az erőforráscsoportban lévő összes erőforrást. Ha a többi erőforrást érintetlenül szeretné hagyni, csak az ebben az oktatóanyagban létrehozott adat-előállítót törölje.
Egy erőforráscsoport törlése a csoportban található összes erőforrást törli, beleértve az adat-előállítókat is. Az alábbi parancsot futtassa a teljes erőforráscsoport törléséhez:
Remove-AzResourceGroup -ResourceGroupName $resourcegroupname
Feljegyzés
Egy erőforráscsoport elvetése eltarthat egy ideig. Várjon türelmesen, amíg a folyamat befejeződik
Ha csak az adat-előállítót szeretné törölni, nem pedig a teljes erőforráscsoportot, futtassa az alábbi parancsot:
Remove-AzDataFactoryV2 -Name $dataFactoryName -ResourceGroupName $resourceGroupName
Kapcsolódó tartalom
A példában szereplő folyamat adatokat másol az egyik helyről egy másikra egy Azure Blob Storage-ban. A Data Factory más forgatókönyvekben való használatát ismertető további információkért tekintse meg az oktatóanyagokat.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: