Удалить конвейер фабрики данных Azure после успешного запуска - PullRequest
0 голосов
/ 30 октября 2019

Прямо сейчас у меня есть приложение WebAPI, которое после получения запроса динамически создает конкретный конвейер в C # для выполнения конкретной задачи.

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

Может быть, есть способ выполнить "самоуничтожение" трубопровода после завершения? Или, может быть, запуск удаления старых трубопроводов периодически?

1 Ответ

0 голосов
/ 31 октября 2019

Нет такого механизма для очистки всех ресурсов непосредственно в ADF, однако вы можете использовать Триггер времени функции Azure для реализации его в расписании. Пожалуйста, обратитесь к моим мыслям:

1. Создайте функцию лазера времени триггера (например, запускаемую каждый день) для выполнения запросов конвейера с помощью REST API или SDK.

2. Выполните цикл результатов и отфильтруйте Status==Succeeded и runEnd< today, чтобыполучить список имен конвейеров

enter image description here

3. Удалить их один за другим по списку имен с помощью Delete API. (REST API: https://docs.microsoft.com/en-us/rest/api/datafactory/pipelines/delete)

4. Удаление наборов данных представляет собой небольшую проблему. Хотя вы можете получить имя конвейера, действия в конвейере не обязательно будут одинаковыми, что приведет к различным наборам данных. Например, если это операция копирования, вы можетеполучить referenceName в inputs и outputs массиве. Если возможно очистить все наборы данных, и они будут воссозданы, вы можете легко использовать LIST DATASETS API и убить их всех.

enter image description here

...