Использование. Net Core SDK
ServiceClientCredentials cred = new TokenCredentials(accessToken);
using (var client = new DataFactoryManagementClient(cred) { SubscriptionId = subscriptionId })
{
RunQueryFilter filter1 = new RunQueryFilter("PipelineName", "Equals", new List<string> { "ActualPipelineName" });
RunQueryFilter filter2 = new RunQueryFilter("Status", "Equals", new List<string> { "Queued" });
DateTime before = DateTime.UtcNow;
DateTime after = before.AddHours(-4);
RunFilterParameters param = new RunFilterParameters(after, before, null, new List<RunQueryFilter> { filter1, filter2 }, null);
PipelineRunsQueryResponse pipelineResponse = client.PipelineRuns.QueryByFactory(resourceGroupName, azureDataFactoryName, param);
int? QueuedPipelines = pipelineResponse?.Value?.Count;
}
В фильтре 1 вы можете использовать оператор «In» для запроса более одного PipelineName.
В фильтре 2 вы можете использовать любой допустимый статус ADF (Успех, InProgress, Queued и т. д. c.)
Этого же можно достичь с помощью REST API.
PS - вам может понадобиться токен продолжения, если количество конвейеров больше 100 (для данного конкретного статуса).