Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
A következőkre vonatkozik:
Azure Data Factory
Azure Synapse Analytics
Tanács.
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 ismerteti 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. Bármelyik lapról megkeresheti és kiválaszthatja a Tárfiókokat.
- A Tárfiókok lapon szűrjön a tárfiókra (ha szükséges), majd válassza ki a tárfiókot.
Bármelyik lapról megkeresheti és kiválaszthatja a Tárfiókokat.
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
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 oldal frissítve lett, hogy az adftutorial is 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 oldalon, ahol abbahagyta, válassza ki az adftutorial 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. Bármelyik lapról megkeresheti és kiválaszthatja a Tárfiókokat.
- 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: bemenet.
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 Bezárás ikont (egy X) választva zárja be a Blob feltöltése lapot.
Tartsa nyitva az adftutorial konténeroldalt. Ennek a gyors útmutatónak a végén ellenőrizheti az eredményeket.
Azure PowerShell
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ése 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 használja a PowerShell és a Data Factory modul legújabb verzióit, 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-AzAccountFuttassa a következő parancsot a fiókhoz tartozó előfizetések megtekintéséhez.
Get-AzSubscriptionHa 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 szeretné felülírni. Rendeljen egy másik értéket a
$ResourceGroupNamevá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 szeretné felülírni. Rendeljen egy másik értéket a
$ResourceGroupNamevá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 az Azure-ba való bejelentkezéshez használt felhasználói fióknak közreműködői vagy tulajdonosi 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 gyorsútmutatóban létrehoz egy Azure Storage-hoz társított szolgáltatást, amelyet forrás- és céltárként használunk. 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.
Tanács.
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 a következő tartalommal: (Hozza létre az ADFv2QuickStartPSH mappát, ha még nem létezik.)
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" } } }Jegyzettömb használata esetén válassza a Mentés másként párbeszédpanelen a Mentés másként típusú fájlhoz tartozó Összes fájl lehetőséget. Ellenkező esetben bővítményt adhat
.txta fájlhoz. Például:AzureStorageLinkedService.json.txt. Ha a fájlt a Jegyzettömbben való megnyitás előtt hozza létre a Fájlkezelőben, előfordulhat, hogy nem látja a.txtbővítményt, mivel az ismert fájltípusok bővítményeinek elrejtése beállítás alapértelmezés szerint be van állítva. A továbblépés előtt távolítsa el a hozzáadott.txtkiterjeszté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"A mintakimenet a következő:
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 InputDataset adatkészlet létrehozásához futtassa a Set-AzDataFactoryV2Dataset parancsmagot.
Set-AzDataFactoryV2Dataset -DataFactoryName $DataFactory.DataFactoryName ` -ResourceGroupName $ResGrp.ResourceGroupName -Name "InputDataset" ` -DefinitionFile ".\InputDataset.json"A mintakimenet a következő:
DatasetName : InputDataset ResourceGroupName : <resourceGroupname> DataFactoryName : <dataFactoryName> Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.BinaryDatasetA 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"A mintakimenet a következő:
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 Adfv2QuickStartPipeline folyamat létrehozásához futtassa a Set-AzDataFactoryV2Pipeline parancsmagot.
$DFPipeLine = Set-AzDataFactoryV2Pipeline ` -DataFactoryName $DataFactory.DataFactoryName ` -ResourceGroupName $ResGrp.ResourceGroupName ` -Name "Adfv2QuickStartPipeline" ` -DefinitionFile ".\Adfv2QuickStartPipeline.json"
Adatcsatorna futtatá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 }Íme a programozási folyamat futtatá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 rendbetétele
Kétféleképpen törölheti a Quickstartban 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.