Запуск и мониторинг работы конвейера ADF с помощью. NET SDK - PullRequest
1 голос
/ 27 мая 2020

Я создал конвейер ADF, используя Azure пользовательский интерфейс фабрики данных, который запускает запуск один раз в день. Есть ли способ получить последний идентификатор выполнения конвейера и монитор, который выполняется с использованием. NET SDK? Пожалуйста, укажите консольное приложение, которое делает то же самое с существующим запуском конвейера ADF?

Это это то, что я пробовал, когда конвейер создается с использованием. NET SDK и монитора запуска (https://docs.microsoft.com/en-us/azure/data-factory/quickstart-create-data-factory-dot-net):

static async Task Main(string[] args)
        {
            // Authenticate and create a data factory management client
             var context = new AuthenticationContext("https://login.windows.net/" + tenantID);
             ClientCredential cc = new ClientCredential(applicationId, authenticationKey);
             AuthenticationResult result = context.AcquireTokenAsync(
    "https://management.azure.com/", cc).Result;
             ServiceClientCredentials cred = new TokenCredentials(result.AccessToken);

            using (var client = new DataFactoryManagementClient(cred) { 
                      SubscriptionId = subscriptionId 
              })
            {
                RunQueryFilter filter1 = new RunQueryFilter("PipelineName", "Equals", new List<string> { "Pipeline" });                
                DateTime before = DateTime.UtcNow;
                DateTime after = before.AddHours(-24);
                RunFilterParameters param = new RunFilterParameters(after, before, null, new List<RunQueryFilter> { filter1 }, null);
                PipelineRunsQueryResponse pipelineResponse = client.PipelineRuns.QueryByFactory(
                                                                        resourceGroup,
                                                                        dataFactoryName, param
                                                                    );

            }



            // 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;
            }
}

, но можно ли отслеживать запуск, получая последнюю версию запустить идентификатор из ADF?

1 Ответ

1 голос
/ 27 мая 2020

Step1, см. IPipelineRunsOperations.QueryByFactoryWithHttpMessagesAsyn c method.

enter image description here

Step2: перейдите к классу RunFilterParameters, вы можно найти свойство с именем OrderBy.

enter image description here

Step3: Найдите RunQueryOrderBy Class, и вы увидите, что он принимает 2 параметра. Здесь вы можете установить их как RunEnd и DESC.

enter image description here

Шаг 4: просто получите первый элемент списка конвейеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...