Я разрабатываю процесс ETL, который использует для выполнения устойчивые функции (v2). Основной процесс выглядит следующим образом:
- Используйте действие, чтобы получить список кодов продуктов, которые нужно обработать
- Разветвление от основного оркестратора на N подчиненных оркестровок для объединения нескольких источников данных интеграции в один объект и обновления в Cosmos DB.
Основная оркестровка реализуется с использованием шаблона экземпляра синглтона, поэтому одновременно выполняется только один экземпляр.
Он работает нормально, но история выполнения в базовом хранилище таблиц TaskHub значительно увеличивается с каждым выполнением этого процесса, и здесь возникает очевидная проблема обслуживания, потому что этот процесс будет выполняться каждый час и будет генерировать много данных в базовом хранилище. Таблицы TaskHub.
Я изо всех сил пытаюсь найти руководство о том, как поддерживать историю выполнения этого процесса, чтобы она не увеличивалась слишком сильно. Я знаю ContinueAsNewAsync()
API, но он не очень хорошо вписывается в мой дизайн, потому что заставляет процесс снова запускаться. Я не могу найти информацию ни по одному API, который можно использовать для очистки истории выполнения.
Это вопрос очистки таблиц вручную на данный момент, скажем, с использованием отдельных функций, запускаемых таймером? Это кажется немного взломанным / нестабильным, учитывая, что схема таблиц устойчивых функций может измениться в любой момент.