Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
APLICA-SE A:
Azure Data Factory
Azure Synapse Analytics
Gorjeta
Data Factory em Microsoft Fabric é a próxima geração de Azure Data Factory, com uma arquitetura mais simples, IA incorporada e novas funcionalidades. Se és novo na integração de dados, começa pelo Fabric Data Factory. As cargas de trabalho existentes do ADF podem atualizar para o Fabric para aceder a novas capacidades em ciência de dados, análise em tempo real e relatórios.
Este artigo descreve como monitorar um pipeline em uma fábrica de dados usando diferentes kits de desenvolvimento de software (SDKs).
Nota
Recomendamos que utilize o módulo PowerShell do Azure Az para interagir com o Azure. Para começar, consulte Install Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, veja Migrar Azure PowerShell do AzureRM para o Az.
Intervalo de dados
Data Factory armazena apenas dados de execução de pipeline por 45 dias. Quando você consulta programaticamente dados sobre execuções de pipeline do Data Factory - por exemplo, com o comando Get-AzDataFactoryV2PipelineRun PowerShell - não há datas máximas para os parâmetros opcionais LastUpdatedAfter e LastUpdatedBefore opcionais. Mas se você consultar dados do ano passado, por exemplo, não receberá um erro, mas apenas dados de execução de pipeline dos últimos 45 dias.
Se quiseres manter os dados da execução do pipeline por mais de 45 dias, configura o teu próprio registo de diagnóstico com Azure Monitor.
Informações de execução do pipeline
Para propriedades de execução de pipeline, consulte a Referência da API PipelineRun. Uma execução de pipeline tem status diferente durante seu ciclo de vida, os valores possíveis de status de execução estão listados abaixo:
- Em fila
- InProgress
- Efetuado com êxito
- Falha
- Cancelamento
- Cancelado
.NET
Para uma explicação completa da criação e monitorização de um pipeline usando .NET SDK, veja Criar uma fábrica de dados e pipeline usando .NET.
Adicione o código a seguir para verificar continuamente o status da execução do pipeline até que ele termine de copiar os dados.
// 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; }Adicione o código a seguir para recuperar detalhes de execução da atividade de cópia, por exemplo, o tamanho dos dados lidos/gravados.
// 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();
Para documentação completa sobre o .NET SDK, consulte a referência do Data Factory .NET SDK.
Python
Para uma análise completa da criação e monitorização de um pipeline usando Python SDK, consulte Criar uma fábrica de dados e pipeline usando Python.
Para monitorar a execução do pipeline, adicione o seguinte código:
# 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])
Para documentação completa sobre o SDK do Python, consulte referência do SDK do Python para o Data Factory.
API REST
Para obter um passo a passo completo sobre como criar e monitorar um pipeline usando a API REST, consulte Criar uma fábrica de dados e um pipeline usando a API REST.
Execute o script seguinte para verificar continuamente o estado de execução do pipeline até que este termine de copiar os dados.
$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 } }Execute o script seguinte para obter os detalhes da execução da atividade de cópia, como, por exemplo, o tamanho dos dados lidos/escritos.
$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
Para obter a documentação completa sobre a API REST, consulte Referência da API REST do Data Factory.
PowerShell
Para obter um passo a passo completo sobre como criar e monitorar um pipeline usando o PowerShell, consulte Criar uma fábrica de dados e um pipeline usando o PowerShell.
Execute o script seguinte para verificar continuamente o estado de execução do pipeline até que este termine de copiar os dados.
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 }Execute o script seguinte para obter os detalhes da execução da atividade de cópia, como, por exemplo, o tamanho dos dados lidos/escritos.
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"
Para obter a documentação completa sobre cmdlets do PowerShell, consulte Referência de cmdlets do PowerShell do Data Factory.
Conteúdos relacionados
Consulte o artigo Monitorizar pipelines usando Azure Monitor para saber como utilizar o Azure Monitor para monitorizar pipelines do Data Factory.