Я создал конвейер 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?