Показатели активности пакета SDK для .NET Azure Data Factory

Кто-нибудь знает, как (или если это возможно) получить доступ к этим показателям для каждого запуска действия, показанного в разделе «Подробности» на портале Azure?

Снимок экрана с портала Azure

Первоначально планировалось использовать .NET SDK, но, похоже, ни одна из этих метрик не включена. Это то, что мне пока удалось найти.

var datasliceRunListResponse = client.DataSliceRuns.List(
                _resourceGroupName,
                dataFactoryName,
                Dataset_Destination,
                new DataSliceRunListParameters()
                {
                    DataSliceStartTime = PipelineActivePeriodStartTime.ConvertToISO8601DateTimeString()
                }
            );

        foreach (DataSliceRun run in datasliceRunListResponse.DataSliceRuns)
        {
            Console.WriteLine("Status: \t\t{0}", run.Status);
            Console.WriteLine("DataSliceStart: \t{0}", run.DataSliceStart);
            Console.WriteLine("DataSliceEnd: \t\t{0}", run.DataSliceEnd);
            Console.WriteLine("ActivityId: \t\t{0}", run.ActivityName);
            Console.WriteLine("ProcessingStartTime: \t{0}", run.ProcessingStartTime);
            Console.WriteLine("ProcessingEndTime: \t{0}", run.ProcessingEndTime);
            Console.WriteLine("ErrorMessage: \t{0}", run.ErrorMessage);
            Console.WriteLine("Has logse: \t\t{0}", run.HasLogs.ToString());
            Console.WriteLine("Id: \t\t\t{0}", run.Id);
            Console.WriteLine("Log uri: \t{0}", run.LogUri);
            Console.WriteLine("Properties: \t{0}", run.Properties.Count);

        }

person soderstromOlov    schedule 08.03.2017    source источник
comment
Только что проверил командлеты PowerShell Get-AzureRmDataFactoryActivityWindow и Get-AzureRmDataFactoryRun. Они не включают этот уровень детализации. Все же!   -  person Paul Andrew    schedule 22.03.2017
comment
Поднимали ли вы для этого пункт MS connect?   -  person Paul Andrew    schedule 22.03.2017
comment
Мы еще немного покопались в этом, и это действительно возможно с помощью .NET SDK, но вам нужно выполнить двухэтапную выборку. Я разместил ответ ниже.   -  person soderstromOlov    schedule 22.03.2017


Ответы (1)


После некоторого копания я нашел решение в .NET SDK. Вам нужно сделать «двухэтапную выборку».

Получить детали фрагмента

введите здесь описание изображения

DateTime PipelineActivePeriodStartTime;
    DataSliceRunListResponse sliceList = new DataSliceRunListResponse();
    DataSliceRunGetResponse sliceResponse = new DataSliceRunGetResponse();
    PipelineActivePeriodStartTime = new DateTime(2017, 3, 20, 07, 00, 0, 0, DateTimeKind.Utc);

    DataFactoryManagementClient client = new DataFactoryManagementClient(_aadTokenCredentials, _resourceManagerUri);

    sliceList = client.DataSliceRuns.List(
                _resourceGroupName,
                _dataFactoryName,
                _datasetDestination,
                new DataSliceRunListParameters()
                {
                    DataSliceStartTime = PipelineActivePeriodStartTime.ConvertToISO8601DateTimeString()
                }
    );

    foreach (DataSliceRun run in sliceList.DataSliceRuns)
    {
        sliceResponse = client.DataSliceRuns.Get(_resourceGroupName, dataFactoryName, run.Id.ToString());

        foreach (KeyValuePair<string, string> entry in sliceResponse.DataSliceRun.Properties)
        {
            switch (entry.Key.Trim())
            {
                case "rows":
                    rows = Convert.ToInt32(entry.Value);
                    break;
                case "dataRead":
                    dataRead = entry.Value;
                    break;
                case "dataWritten":
                    dataWritten = entry.Value;
                    break;
                case "throughput":
                    throughtput = entry.Value;
                    break;
                case "totalDuration":
                    totalDuration = entry.Value;
                    break;
                default:
                    break;
            }
        }
    }
person soderstromOlov    schedule 22.03.2017