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.
Tento článek popisuje, jak monitorovat datový tok v prostředí datové továrny pomocí různých sad nástrojů pro vývoj software (SDK).
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.
Rozsah dat
Data Factory ukládá data z běhu pipeline pouze po dobu 45 dnů. Při programovém dotazování na data o spuštění kanálu Data Factory – například pomocí příkazu Get-AzDataFactoryV2PipelineRun PowerShellu – nejsou pro volitelné LastUpdatedAfter parametry LastUpdatedBefore k dispozici žádná maximální data. Pokud se ale dotazujete na data za minulý rok, například nezískáte chybovou zprávu, ale pouze data z běhu datového toku za posledních 45 dnů.
Pokud chcete uchovávat data běhu kanálu po dobu delší než 45 dnů, nastavte vlastní protokolování diagnostiky pomocí Azure Monitor.
Informace o spuštění potrubí
Pro vlastnosti spuštění pipeline se podívejte do referenční dokumentace rozhraní API PipelineRun. Během životního cyklu může mít běh kanálu různé stavy. Možné hodnoty stavu běhu jsou uvedené níže:
- Zařazeno do fronty
- Probíhající
- Úspěch
- Neúspěšné
- Probíhá zrušení
- Zrušeno
platforma .NET
Kompletní návod k vytvoření a monitorování kanálu pomocí sady .NET SDK najdete v tématu Vytvoření datové továrny a kanálu pomocí .NET.
Přidejte následující kód, který bude průběžně kontrolovat stav spuštění pipeline, dokud nedokončí kopírování dat.
// Monitor the pipeline run Console.WriteLine("Checking pipeline run status..."); PipelineRun pipelineRun; while (true) { pipelineRun = client.PipelineRuns.Get(resourceGroup, dataFactoryName, runResponse.RunId); Console.WriteLine("Status: " + pipelineRun.Status); if (pipelineRun.Status == "InProgress" || pipelineRun.Status == "Queued") System.Threading.Thread.Sleep(15000); else break; }Přidejte následující kód, který načte podrobnosti o spuštění aktivity kopírování, například velikost načtených a zapsaných dat.
// Check the copy activity run details Console.WriteLine("Checking copy activity run details..."); RunFilterParameters filterParams = new RunFilterParameters( DateTime.UtcNow.AddMinutes(-10), DateTime.UtcNow.AddMinutes(10)); ActivityRunsQueryResponse queryResponse = client.ActivityRuns.QueryByPipelineRun( resourceGroup, dataFactoryName, runResponse.RunId, filterParams); if (pipelineRun.Status == "Succeeded") Console.WriteLine(queryResponse.Value.First().Output); else Console.WriteLine(queryResponse.Value.First().Error); Console.WriteLine("\nPress any key to exit..."); Console.ReadKey();
Kompletní dokumentaci k sadě .NET SDK najdete v referenčních informacích k sadě Data Factory .NET SDK.
Python
Kompletní postup vytvoření a monitorování kanálu pomocí sady Python SDK najdete v tématu Vytvoření datové továrny a kanálu pomocí Python.
K monitorování běhu kanálu přidejte následující kód:
# Monitor the pipeline run
time.sleep(30)
pipeline_run = adf_client.pipeline_runs.get(
rg_name, df_name, run_response.run_id)
print("\n\tPipeline run status: {}".format(pipeline_run.status))
filter_params = RunFilterParameters(
last_updated_after=datetime.now() - timedelta(1), last_updated_before=datetime.now() + timedelta(1))
query_response = adf_client.activity_runs.query_by_pipeline_run(
rg_name, df_name, pipeline_run.run_id, filter_params)
print_activity_run_details(query_response.value[0])
Kompletní dokumentaci k sadě Python SDK najdete v referenčních informacích k Data Factory Python SDK.
REST API
Kompletní postup vytvoření a monitorování kanálu pomocí rozhraní REST API najdete v tématu Vytvoření datové továrny a kanálu pomocí rozhraní REST API.
Spusťte následující skript, který bude nepřetržitě kontrolovat stav spuštění datového kanálu, dokud nebude dokončeno kopírování dat.
$request = "https://management.azure.com/subscriptions/${subsId}/resourceGroups/${resourceGroup}/providers/Microsoft.DataFactory/factories/${dataFactoryName}/pipelineruns/${runId}?api-version=${apiVersion}" while ($True) { $response = Invoke-RestMethod -Method GET -Uri $request -Header $authHeader Write-Host "Pipeline run status: " $response.Status -foregroundcolor "Yellow" if ( ($response.Status -eq "InProgress") -or ($response.Status -eq "Queued") ) { Start-Sleep -Seconds 15 } else { $response | ConvertTo-Json break } }Spusťte následující skript, který načte podrobnosti o spuštění aktivity kopírování, například velikost načtených/zapsaných dat.
$request = "https://management.azure.com/subscriptions/${subscriptionId}/resourceGroups/${resourceGroupName}/providers/Microsoft.DataFactory/factories/${factoryName}/pipelineruns/${runId}/queryActivityruns?api-version=${apiVersion}&startTime="+(Get-Date).ToString('yyyy-MM-dd')+"&endTime="+(Get-Date).AddDays(1).ToString('yyyy-MM-dd')+"&pipelineName=Adfv2QuickStartPipeline" $response = Invoke-RestMethod -Method POST -Uri $request -Header $authHeader $response | ConvertTo-Json
Kompletní dokumentaci k rozhraní REST API najdete v referenčních informacích k rozhraní REST API služby Data Factory.
PowerShell
Kompletní návod k vytvoření a monitorování kanálu pomocí PowerShellu najdete v tématu Vytvoření datové továrny a kanálu pomocí PowerShellu.
Spusťte následující skript, který bude nepřetržitě kontrolovat stav spuštění datového kanálu, dokud nebude dokončeno kopírování dat.
while ($True) { $run = Get-AzDataFactoryV2PipelineRun -ResourceGroupName $resourceGroupName -DataFactoryName $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 30 }Spusťte následující skript, který načte podrobnosti o spuštění aktivity kopírování, například velikost načtených/zapsaných dat.
Write-Host "Activity run details:" -foregroundcolor "Yellow" $result = Get-AzDataFactoryV2ActivityRun -DataFactoryName $dataFactoryName -ResourceGroupName $resourceGroupName -PipelineRunId $runId -RunStartedAfter (Get-Date).AddMinutes(-30) -RunStartedBefore (Get-Date).AddMinutes(30) $result Write-Host "Activity 'Output' section:" -foregroundcolor "Yellow" $result.Output -join "`r`n" Write-Host "\nActivity 'Error' section:" -foregroundcolor "Yellow" $result.Error -join "`r`n"
Kompletní dokumentaci k rutinám PowerShellu najdete v referenčních informacích k rutinám PowerShellu služby Data Factory.
Související obsah
Informace o sledování kanálů v Azure Data Factory pomocí Azure Monitor naleznete v článku Monitorování kanálů pomocí Azure Monitor.