Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Vonatkozik:
Azure Data Factory
Azure Synapse Analytics
Tanács.
Ez a rövid útmutató bemutatja, hogyan hozhat létre Azure Data Factory a PowerShell használatával. A data factoryban létrehozott adatfolyam adatokat másol egy Azure blobtároló egyik mappájából egy másik mappába. Az Azure Data Factory használatával történő adatátalakításhoz tekintse meg a Oktatóanyag: Adatok átalakítása Spark használatával című útmutatót.
Feljegyzés
Ez a cikk nem ismerteti részletesen a Data Factory szolgáltatást. A Azure Data Factory szolgáltatás bemutatása: Bevezetés a Azure Data Factory.
Előfeltételek
Azure előfizetés
Ha nem rendelkezik Azure előfizetéssel, a kezdés előtt hozzon létre egy felszabadító fiókot.
Azure szerepkörök
Data Factory-példányok létrehozásához a Azure bejelentkezéshez használt felhasználói fióknak a contributor vagy owner szerepkör vagy administrator Azure-előfizetés tagjának kell lennie. 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, válassza a "... " ikon további lehetőségekért, majd válassza a My 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 Azure portálon való létrehozásához és kezeléséhez a Adat-előállító közreműködői szerepkörhöz kell tartoznia az erőforráscsoport szintjén vagy felett.
- 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:
- Data Factory közreműködője szerepkör
- Az Azure Data Factory szerepkörök és engedélyek
Azure Storage fiók
Ebben a gyors útmutatóban általános célú Azure Storage-fiókot használ mind forrás, mind cél adattárként. Ha nem rendelkezik általános célú Azure Storage-fiókkal, a Tárfiók létrehozása című témakörben talál egy tárfiókot.
A tárfiók nevének lekérése
Ehhez a rövid útmutatóhoz szüksége lesz a 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 a Azure portált és jelentkezzen be Azure felhasználónevével és jelszavával.
- A Azure portál menüjében válassza a All services, majd a Storage>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 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 a Azure portálra, é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 ismét a Azure portálra.
- A Azure portál menüjében válassza a All services, majd a Storage>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 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 legújabb Azure PowerShell modulokat a Hogyan telepítse és konfigurálja az Azure PowerShellt útmutató utasításaiban.
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 ugyanazt a Azure felhasználónevet és jelszót, amelyet a Azure portálra való bejelentkezéshez használ:
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 elemet a 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 a következő parancsszöveget a PowerShellbe, adja meg a Azure erőforráscsoport nevét dupla 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 parancsotA Azure erőforráscsoport létrehozásához futtassa a következő parancsot:
$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:
A 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 Azure való bejelentkezéshez használt felhasználói fióknak contributor vagy owner szerepköröknek vagy administrator Azure-előfizetés tagjá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. A data factory által használt adattárak (Azure Storage, Azure SQL Database stb.) és a data factory által használt számítá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 társított szolgáltatást, amely forrás- és fogadótárolóké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.
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 ajánlott Azure Key Vault is használni. 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 cserélje le a <accountName> és <accountKey> elemet a Azure tárfió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 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.
A Azure portál adftutorial tárolólapján válassza a Refresh 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 a Azure erőforráscsoportot, amely az erőforráscsoport összes erőforrását tartalmazza. 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 mintafolyamat adatokat másol egy Azure blobtároló egyik helyére. A Data Factory más forgatókönyvekben való használatát ismertető további információkért tekintse meg az oktatóanyagokat.