Как выполнить конвейер фабрики данных Azure X раз (для X значений различных параметров)? - PullRequest
0 голосов
/ 07 апреля 2020

У меня есть конвейер, который запускается ежедневно в определенное время и работает нормально. Этот конвейер получает текущую дату в качестве входного параметра, что тоже хорошо.

Теперь я делаю альтернативную версию этого же конвейера для имитации прошлых дат , в которой параметр имеет значение значение даты (например, «2018-05-23» для 23 мая 2018 года). Однако, если я хочу запустить конвейер на весь 2018 год (поэтому мне нужно 365 различных параметров), как бы я это сделал?

Конечно, я мог бы запустить его вручную с 1 января, а затем с января 2-й и так далее, но это займет вечность. Я хотел бы вызвать 1 января, а затем последовательно выполнить конвейер для остальных 364 дней года, как только 1 января закончится.

Заранее спасибо!

1 Ответ

0 голосов
/ 07 апреля 2020

Итак ... чтобы l oop через серию дат, я бы предложил заполнить входной параметр массивом значений дат (вы можете сгенерировать это простым способом с помощью кода и передать его как параметр в ваш конвейер).

Затем в вашем конвейере вы можете определить ForEach l oop, повторяя каждую из записей даты в вашем параметре, выполняя конвейер для каждой даты.

Исходя из вашего требования запускать конвейеры последовательно, без параллелизма, просто установите isSequential в true в определении вашего конвейера ForEach. Примерно так: простой пример:

{  
   "name":"...",
   "type":"ForEach",
   "typeProperties":{  
      "isSequential":"true",
        "items": {
            "value": "@pipeline().parameters.datesToProcess",
            "type": "Expression"
        },
      "activities":[  
         { 
            ...
         }
      ]
    }
}

Подробнее о ForEach можно прочитать в этой статье .

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