Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
VZTAHUJE SE NA:
Azure Data Factory
Azure Synapse Analytics
Tip
Data Factory v Microsoft Fabric je nová generace Azure Data Factory s jednodušší architekturou, integrovanou AI a novými funkcemi. Pokud s integrací dat začínáte, začněte Fabric Data Factory. Stávající úlohy ADF lze upgradovat na Fabric pro přístup k novým funkcím v oblastech datové vědy, analýz v reálném čase a vytváření sestav.
Azure Data Factory je cloudová služba pro integraci dat, která umožňuje vytvářet pracovní postupy řízené daty v cloudu pro orchestraci a automatizaci přesunu a transformace dat. Pomocí Azure Data Factory můžete vytvářet a plánovat pracovní postupy řízené daty (označované jako kanály), které ingestují data z různorodých úložišť dat, zpracovávají a transformují je pomocí výpočetních služeb, jako jsou Azure HDInsight Hadoop, Spark, Azure Data Lake Analytics a Azure Machine Learning a publikujte výstupní data do úložišť dat, jako jsou Azure Synapse Analytics pro aplikace business intelligence (BI), které se mají využívat.
Tento rychlý start popisuje, jak pomocí rozhraní REST API vytvořit Azure Data Factory. Pipeline v této datové továrně kopíruje data z jednoho umístění do druhého v Azure Blob Storage.
Pokud nemáte předplatné Azure, vytvořte si účet free před tím, než začnete.
Prerequisites
Poznámka
K interakci s Azure doporučujeme použít modul Azure Az PowerShell. Pokud chcete začít, přečtěte si téma Install Azure PowerShell. Informace o migraci do modulu Az PowerShell najdete v tématu Migrace Azure PowerShell z AzureRM do Az.
- Azure předplatné. Pokud předplatné nemáte, můžete si vytvořit bezplatný zkušební účet.
- Účet služby Azure Storage. Úložiště objektů blob použijete jako zdrojové úložiště dat a cílové úložiště dat. Pokud účet úložiště Azure nemáte, přečtěte si článek Vytvoření účtu úložiště článek s pokyny k jeho vytvoření.
- V Blob Storage vytvořte kontejner blob, vytvořte vstupní folder kontejneru a nahrajte do složky nějaké soubory. Pomocí nástrojů, jako jsou Azure Storage Explorer, můžete se připojit k Azure Blob Storage, vytvořit kontejner objektů blob, nahrát vstupní soubor a ověřit výstupní soubor.
- Nainstalujte Azure PowerShell. Postupujte podle pokynů v Jak nainstalovat a nakonfigurovat Azure PowerShell. V tomto rychlém startu se k vyvolání volání rozhraní REST API používá PowerShell.
- Vytvořte aplikaci v Microsoft Entra ID podle pokynů těs. Poznamenejte si následující hodnoty, které použijete v dalších krocích: ID aplikace, clientSecrets a ID tenanta. Přiřaďte aplikaci roli Přispěvatel buď na úrovni předplatného, nebo na úrovni skupiny prostředků.
Poznámka
V případě suverénních cloudů musíte použít příslušné koncové body specifické pro cloud pro ActiveDirectoryAuthority a ResourceManagerUrl (BaseUri). Pomocí PowerShellu můžete snadno získat adresy URL koncových bodů pro různé cloudy spuštěním příkazuGet-AzEnvironment | Format-List", který vrátí seznam koncových bodů pro každé cloudové prostředí.
Nastavení globálních proměnných
Spusťte PowerShell. Nechte Azure PowerShell otevřené až do konce tohoto rychlého startu. Pokud ho zavřete a znovu otevřete, bude potřeba tyto příkazy spustit znovu.
Spusťte následující příkaz a zadejte uživatelské jméno a heslo, které používáte pro přihlášení k portálu Azure:
Connect-AzAccountSpuštěním následujícího příkazu zobrazíte všechna předplatná pro tento účet:
Get-AzSubscriptionSpuštěním následujícího příkazu vyberte předplatné, se kterým chcete pracovat. Nahraďte SubscriptionId ID vašeho předplatného Azure:
Select-AzSubscription -SubscriptionId "<SubscriptionId>"Po nahrazení držitelů místa vlastními hodnotami spusťte následující příkazy a nastavte globální proměnné, které se mají použít v dalších krocích.
$tenantID = "<your tenant ID>" $appId = "<your application ID>" $clientSecrets = "<your clientSecrets for the application>" $subscriptionId = "<your subscription ID to create the factory>" $resourceGroupName = "<your resource group to create the factory>" $factoryName = "<specify the name of data factory to create. It must be globally unique.>" $apiVersion = "2018-06-01"
Ověřování pomocí Microsoft Entra ID
Spuštěním následujících příkazů proveďte ověření pomocí Microsoft Entra ID:
$credentials = Get-Credential -UserName $appId
Connect-AzAccount -ServicePrincipal -Credential $credentials -Tenant $tenantID
Zobrazí se výzva k zadání hesla, použijte hodnotu v proměnné clientSecrets.
Pokud potřebujete získat přístupový token
GetToken
Vytvoření datové továrny
Pomocí následujících příkazů vytvořte Data Factory:
$body = @"
{
"location": "East US",
"properties": {},
"identity": {
"type": "SystemAssigned"
}
}
"@
$response = Invoke-AzRestMethod -SubscriptionId ${subscriptionId} -ResourceGroupName ${resourceGroupName} -ResourceProviderName Microsoft.DataFactory -ResourceType "factories" -Name ${factoryName} -ApiVersion ${apiVersion} -Method PUT -Payload ${body}
$response.Content
Mějte na paměti následující body:
Název Azure Data Factory musí být globálně jedinečný. Pokud se zobrazí následující chyba, změňte název a zkuste to znovu.
Data factory name "ADFv2QuickStartDataFactory" is not available.Seznam Azure oblastí, ve kterých je služba Data Factory aktuálně dostupná, vyberte oblasti, které vás zajímají, na následující stránce a rozbalte Analytics a vyhledejte Data Factory: Products available by region. Úložiště dat (Azure Storage, Azure SQL Database atd.) a výpočty (HDInsight atd.) používané datovými továrnami můžou být v jiných oblastech.
Tady je ukázkový obsah odpovědi:
{
"name":"<dataFactoryName>",
"identity":{
"type":"SystemAssigned",
"principalId":"<service principal ID>",
"tenantId":"<tenant ID>"
},
"id":"/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<dataFactoryName>",
"type":"Microsoft.DataFactory/factories",
"properties":{
"provisioningState":"Succeeded",
"createTime":"2019-09-03T02:10:27.056273Z",
"version":"2018-06-01"
},
"eTag":"\"0200c876-0000-0100-0000-5d6dcb930000\"",
"location":"East US",
"tags":{
}
}
Vytvoření propojených služeb
V datové továrně vytvoříte propojené služby, abyste svá úložiště dat a výpočetní služby spojili s datovou továrnou. V tomto rychlém startu potřebujete vytvořit pouze jednu propojenou službu Azure Storage jako zdroj kopírování i úložiště cíle s názvem AzureStorageLinkedService v tomto příkladu.
Spuštěním následujících příkazů vytvořte propojenou službu s názvem AzureStorageLinkedService:
Před spuštěním příkazů nahraďte <accountName> a <accountKey> názvem a klíčem účtu úložiště Azure.
$path = "/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/linkedservices/AzureStorageLinkedService?api-version=${apiVersion}"
$body = @"
{
"name":"AzureStorageLinkedService",
"properties":{
"annotations":[
],
"type":"AzureBlobStorage",
"typeProperties":{
"connectionString":"DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>"
}
}
}
"@
$response = Invoke-AzRestMethod -Path ${path} -Method PUT -Payload $body
$response.content
Tady je ukázkový výstup:
{
"id":"/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<dataFactoryName>/linkedservices/AzureStorageLinkedService",
"name":"AzureStorageLinkedService",
"type":"Microsoft.DataFactory/factories/linkedservices",
"properties":{
"annotations":[
],
"type":"AzureBlobStorage",
"typeProperties":{
"connectionString":"DefaultEndpointsProtocol=https;AccountName=<accountName>;"
}
},
"etag":"07011a57-0000-0100-0000-5d6e14a20000"
}
Vytvoření datových sad
Definujete datovou sadu, která představuje data, která se mají kopírovat ze zdroje do jímky. V tomto příkladu vytvoříte dvě datové sady: InputDataset a OutputDataset. Odkazují na Azure Storage propojenou službu, kterou jste vytvořili v předchozí části. Vstupní datová sada představuje zdrojová data ve vstupní složce. V definici vstupní datové sady zadáte kontejner objektů blob (adftutorial), složku (vstup) a soubor (emp.txt), který obsahuje zdrojová data. Výstupní datová sada představuje data, která se zkopírují do cíle. V definici výstupní datové sady zadáte kontejner objektů blob (adftutorial), složku (výstup) a soubor, do kterého se data zkopírují.
Vytvoření inputdatasetu
$path = "/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/datasets/InputDataset?api-version=${apiVersion}"
$body = @"
{
"name":"InputDataset",
"properties":{
"linkedServiceName":{
"referenceName":"AzureStorageLinkedService",
"type":"LinkedServiceReference"
},
"annotations":[
],
"type":"Binary",
"typeProperties":{
"location":{
"type":"AzureBlobStorageLocation",
"fileName":"emp.txt",
"folderPath":"input",
"container":"adftutorial"
}
}
}
}
"@
$response = Invoke-AzRestMethod -Path ${path} -Method PUT -Payload $body
$response
Tady je ukázkový výstup:
{
"id":"/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<dataFactoryName>/datasets/InputDataset",
"name":"InputDataset",
"type":"Microsoft.DataFactory/factories/datasets",
"properties":{
"linkedServiceName":{
"referenceName":"AzureStorageLinkedService",
"type":"LinkedServiceReference"
},
"annotations":[
],
"type":"Binary",
"typeProperties":{
"location":"@{type=AzureBlobStorageLocation; fileName=emp.txt; folderPath=input; container=adftutorial}"
}
},
"etag":"07011c57-0000-0100-0000-5d6e14b40000"
}
Vytvoření výstupní datové sady
$path = "/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/datasets/OutputDataset?api-version=${apiVersion}"
$body = @"
{
"name":"OutputDataset",
"properties":{
"linkedServiceName":{
"referenceName":"AzureStorageLinkedService",
"type":"LinkedServiceReference"
},
"annotations":[
],
"type":"Binary",
"typeProperties":{
"location":{
"type":"AzureBlobStorageLocation",
"folderPath":"output",
"container":"adftutorial"
}
}
}
}
"@
$response = Invoke-AzRestMethod -Path ${path} -Method PUT -Payload $body
$response.content
Tady je ukázkový výstup:
{
"id":"/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<dataFactoryName>/datasets/OutputDataset",
"name":"OutputDataset",
"type":"Microsoft.DataFactory/factories/datasets",
"properties":{
"linkedServiceName":{
"referenceName":"AzureStorageLinkedService",
"type":"LinkedServiceReference"
},
"annotations":[
],
"type":"Binary",
"typeProperties":{
"location":"@{type=AzureBlobStorageLocation; folderPath=output; container=adftutorial}"
}
},
"etag":"07013257-0000-0100-0000-5d6e18920000"
}
Vytvořit potrubí
V tomto příkladu obsahuje tento datový kanál jednu kopírovací úlohu. Copy activity odkazuje na InputDataset a OutputDataset vytvořené v předchozím kroku jako vstup a výstup.
$path = "/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/pipelines/Adfv2QuickStartPipeline?api-version=${apiVersion}"
$body = @"
{
"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": []
}
}
"@
$response = Invoke-AzRestMethod -Path ${path} -Method PUT -Payload $body
$response.content
Tady je ukázkový výstup:
{
"id":"/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<dataFactoryName>/pipelines/Adfv2QuickStartPipeline",
"name":"Adfv2QuickStartPipeline",
"type":"Microsoft.DataFactory/factories/pipelines",
"properties":{
"activities":[
"@{name=CopyFromBlobToBlob; type=Copy; dependsOn=System.Object[]; policy=; userProperties=System.Object[]; typeProperties=; inputs=System.Object[]; outputs=System.Object[]}"
],
"annotations":[
]
},
"etag":"07012057-0000-0100-0000-5d6e14c00000"
}
Vytvořit běh potrubí
V tomto kroku aktivujete běh pipeline. ID spuštění potrubí vrácené v textu odpovědi se použije v pozdějších voláních monitorovacího API.
$path = "/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/pipelines/Adfv2QuickStartPipeline/createRun?api-version=${apiVersion}"
$response = Invoke-AzRestMethod -Path ${path} -Method POST
$response.content
Tady je ukázkový výstup:
{
"runId":"04a2bb9a-71ea-4c31-b46e-75276b61bafc"
}
Id runId můžete získat také pomocí následujícího příkazu.
($response.content | ConvertFrom-Json).runId
Parametrizujte svůj datový kanál
Kanál můžete vytvořit s parametry. V následujícím příkladu vytvoříme vstupní datovou sadu a výstupní datovou sadu, která může jako parametry kanálu přijímat vstupní a výstupní názvy souborů.
Vytvoření parametrizované vstupní datové sady
Definujte parametr s názvem strInputFileName a použijte ho jako název souboru pro datovou sadu.
$path = "/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/datasets/ParamInputDataset?api-version=${apiVersion}"
$body = @"
{
"name": "ParamInputDataset",
"properties": {
"linkedServiceName": {
"referenceName": "AzureStorageLinkedService",
"type": "LinkedServiceReference"
},
"parameters": {
"strInputFileName": {
"type": "string"
}
},
"annotations": [],
"type": "Binary",
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"fileName": {
"value": "@dataset().strInputFileName",
"type": "Expression"
},
"folderPath": "input",
"container": "adftutorial"
}
}
},
"type": "Microsoft.DataFactory/factories/datasets"
}
"@
$response = Invoke-AzRestMethod -Path ${path} -Method PUT -Payload $body
$response.content
Tady je ukázkový výstup:
{
"id": "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<factoryName>/datasets/ParamInputDataset",
"name": "ParamInputDataset",
"type": "Microsoft.DataFactory/factories/datasets",
"properties": {
"linkedServiceName": {
"referenceName": "AzureStorageLinkedService",
"type": "LinkedServiceReference"
},
"parameters": {
"strInputFileName": {
"type": "string"
}
},
"annotations": [],
"type": "Binary",
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"fileName": {
"value": "@dataset().strInputFileName",
"type": "Expression"
},
"folderPath": "input",
"container": "adftutorial"
}
}
},
"etag": "00000000-0000-0000-0000-000000000000"
}
Vytvoření parametrizované výstupní datové sady
Definujte parametr s názvem strOutputFileName a použijte ho jako název souboru pro datovou sadu.
$path = "/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/datasets/ParamOutputDataset?api-version=${apiVersion}"
$body = @"
{
"name": "ParamOutputDataset",
"properties": {
"linkedServiceName": {
"referenceName": "AzureStorageLinkedService",
"type": "LinkedServiceReference"
},
"parameters": {
"strOutPutFileName": {
"type": "string"
}
},
"annotations": [],
"type": "Binary",
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"fileName": {
"value": "@dataset().strOutPutFileName",
"type": "Expression"
},
"folderPath": "output",
"container": "adftutorial"
}
}
},
"type": "Microsoft.DataFactory/factories/datasets"
}
"@
$response = Invoke-AzRestMethod -Path ${path} -Method PUT -Payload $body
$response.content
Tady je ukázkový výstup:
{
"id": "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<factoryName>/datasets/ParamOutputDataset",
"name": "ParamOutputDataset",
"type": "Microsoft.DataFactory/factories/datasets",
"properties": {
"linkedServiceName": {
"referenceName": "AzureStorageLinkedService",
"type": "LinkedServiceReference"
},
"parameters": {
"strOutPutFileName": {
"type": "string"
}
},
"annotations": [],
"type": "Binary",
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"fileName": {
"value": "@dataset().strOutPutFileName",
"type": "Expression"
},
"folderPath": "output",
"container": "adftutorial"
}
}
},
"etag": "00000000-0000-0000-0000-000000000000"
}
Vytvoření parametrizovaného kanálu
Definujte kanál se dvěma parametry na úrovni kanálu: strParamInputFileName a strParamOutputFileName. Tyto dva parametry pak propojte s parametry strInputFileName a strOutputFileName datových sad.
$path = "/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/pipelines/Adfv2QuickStartParamPipeline?api-version=${apiVersion}"
$body = @"
{
"name": "Adfv2QuickStartParamPipeline",
"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": "ParamInputDataset",
"type": "DatasetReference",
"parameters": {
"strInputFileName": {
"value": "@pipeline().parameters.strParamInputFileName",
"type": "Expression"
}
}
}
],
"outputs": [
{
"referenceName": "ParamOutputDataset",
"type": "DatasetReference",
"parameters": {
"strOutPutFileName": {
"value": "@pipeline().parameters.strParamOutputFileName",
"type": "Expression"
}
}
}
]
}
],
"parameters": {
"strParamInputFileName": {
"type": "String"
},
"strParamOutputFileName": {
"type": "String"
}
}
}
}
"@
$response = Invoke-AzRestMethod -Path ${path} -Method PUT -Payload $body
$response.content
Tady je ukázkový výstup:
{
"id": "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<factoryName>/pipelines/Adfv2QuickStartParamPipeline",
"name": "Adfv2QuickStartParamPipeline",
"type": "Microsoft.DataFactory/factories/pipelines",
"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": "ParamInputDataset",
"type": "DatasetReference",
"parameters": {
"strInputFileName": {
"value": "@pipeline().parameters.strParamInputFileName",
"type": "Expression"
}
}
}
],
"outputs": [
{
"referenceName": "ParamOutputDataset",
"type": "DatasetReference",
"parameters": {
"strOutPutFileName": {
"value": "@pipeline().parameters.strParamOutputFileName",
"type": "Expression"
}
}
}
]
}
],
"parameters": {
"strParamInputFileName": {
"type": "String"
},
"strParamOutputFileName": {
"type": "String"
}
}
},
"etag": "5e01918d-0000-0100-0000-60d569a90000"
}
Vytvoření běhu pipeline s parametry
Teď můžete zadat hodnoty parametru při vytváření běhu potrubí.
$path = "/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/pipelines/Adfv2QuickStartParamPipeline/createRun?api-version=${apiVersion}"
$body = @"
{
"strParamInputFileName": "emp2.txt",
"strParamOutputFileName": "aloha.txt"
}
"@
$response = Invoke-AzRestMethod -Path ${path} -Method POST -Payload $body
$response.content
$runId = ($response.content | ConvertFrom-Json).runId
Tady je ukázkový výstup:
{"runId":"aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"}
Monitorování kanálu
Spusťte následující skript k průběžné kontrole stavu běžícího potrubí, dokud se nedokončí kopírování dat.
$path = "/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/pipelineruns/${runId}?api-version=${apiVersion}" while ($True) { $response = Invoke-AzRestMethod -Path ${path} -Method GET $response = $response.content | ConvertFrom-Json Write-Host "Pipeline run status: " $response.Status -foregroundcolor "Yellow" if ( ($response.Status -eq "InProgress") -or ($response.Status -eq "Queued") -or ($response.Status -eq "In Progress") ) { Start-Sleep -Seconds 10 } else { $response | ConvertTo-Json break } }Tady je ukázkový výstup:
{ "id": "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<factoryName>/pipelineruns/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e", "runId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e", "debugRunId": null, "runGroupId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e", "pipelineName": "Adfv2QuickStartParamPipeline", "parameters": { "strParamInputFileName": "emp2.txt", "strParamOutputFileName": "aloha.txt" }, "invokedBy": { "id": "9c0275ed99994c18932317a325276544", "name": "Manual", "invokedByType": "Manual" }, "runStart": "2021-06-25T05:34:06.8424413Z", "runEnd": "2021-06-25T05:34:13.2936585Z", "durationInMs": 6451, "status": "Succeeded", "message": "", "lastUpdated": "2021-06-25T05:34:13.2936585Z", "annotations": [], "runDimension": {}, "isLatest": true }Spusťte následující skript pro vyžádání podrobností o průběhu aktivity kopírování, například velikost načtených a zapsaných dat.
$path = "/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/pipelineruns/${runId}/queryActivityruns?api-version=${apiVersion}" while ($True) { $response = Invoke-AzRestMethod -Path ${path} -Method POST $responseContent = $response.content | ConvertFrom-Json $responseContentValue = $responseContent.value Write-Host "Activity run status: " $responseContentValue.Status -foregroundcolor "Yellow" if ( ($responseContentValue.Status -eq "InProgress") -or ($responseContentValue.Status -eq "Queued") -or ($responseContentValue.Status -eq "In Progress") ) { Start-Sleep -Seconds 10 } else { $responseContentValue | ConvertTo-Json break } }Tady je ukázkový výstup:
{ "activityRunEnd": "2021-06-25T05:34:11.9536764Z", "activityName": "CopyFromBlobToBlob", "activityRunStart": "2021-06-25T05:34:07.5161151Z", "activityType": "Copy", "durationInMs": 4437, "retryAttempt": null, "error": { "errorCode": "", "message": "", "failureType": "", "target": "CopyFromBlobToBlob", "details": "" }, "activityRunId": "bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f", "iterationHash": "", "input": { "source": { "type": "BinarySource", "storeSettings": "@{type=AzureBlobStorageReadSettings; recursive=True}" }, "sink": { "type": "BinarySink", "storeSettings": "@{type=AzureBlobStorageWriteSettings}" }, "enableStaging": false }, "linkedServiceName": "", "output": { "dataRead": 134, "dataWritten": 134, "filesRead": 1, "filesWritten": 1, "sourcePeakConnections": 1, "sinkPeakConnections": 1, "copyDuration": 3, "throughput": 0.044, "errors": [], "effectiveIntegrationRuntime": "DefaultIntegrationRuntime (East US)", "usedDataIntegrationUnits": 4, "billingReference": { "activityType": "DataMovement", "billableDuration": "" }, "usedParallelCopies": 1, "executionDetails": [ "@{source=; sink=; status=Succeeded; start=06/25/2021 05:34:07; duration=3; usedDataIntegrationUnits=4; usedParallelCopies=1; profile=; detailedDurations=}" ], "dataConsistencyVerification": { "VerificationResult": "NotVerified" }, "durationInQueue": { "integrationRuntimeQueue": 0 } }, "userProperties": {}, "pipelineName": "Adfv2QuickStartParamPipeline", "pipelineRunId": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e", "status": "Succeeded", "recoveryStatus": "None", "integrationRuntimeNames": [ "defaultintegrationruntime" ], "executionDetails": { "integrationRuntime": [ "@{name=DefaultIntegrationRuntime; type=Managed; location=East US; nodes=}" ] }, "id": "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.DataFactory/factories/<factoryName>/pipelineruns/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/activityruns/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f" }
Ověření výstupu
Pomocí průzkumníka Azure Storage zkontrolujte, jestli byl soubor zkopírován do "outputPath" z "inputPath", jak jste zadali při vytváření spuštění kanálové úlohy.
Vyčistěte zdroje
Prostředky, které jste vytvořili v rychlém startu, můžete vyčistit dvěma způsoby. Můžete odstranit skupinu prostředků Azure, která zahrnuje všechny prostředky ve skupině prostředků. Pokud chcete zachovat ostatní prostředky beze změny, odstraňte pouze objekt pro vytváření dat, který jste vytvořili v tomto kurzu.
Odstraňte celou skupinu prostředků spuštěním následujícího příkazu.
Remove-AzResourceGroup -ResourceGroupName $resourcegroupname
Spuštěním následujícího příkazu odstraňte pouze objekt pro vytváření dat:
Remove-AzDataFactoryV2 -Name "<NameOfYourDataFactory>" -ResourceGroupName "<NameOfResourceGroup>"
Související obsah
Datový kanál v tomto příkladu kopíruje data z jednoho umístění do jiného umístění v úložišti Azure Blob. Projděte si kurzy , ve které se dozvíte o používání služby Data Factory v dalších scénářích.