Этого можно добиться, используя динамический контент в пути к файлу приемника.Поэтому вместо использования логики if-then-else для определения целевой папки динамически создайте ее в зависимости от имени файла.
В следующем примере целевая папка создается динамически с временем запуска триггера:
"folder": {
"name": "Target"
},
"type": "AzureDataLakeStoreFile",
"typeProperties": {
"fileName": "",
"folderPath": {
"value": "@CONCAT('/tenant02/data/raw/corporate/hmaserver/Ingest_Date=', formatDateTime(trigger().startTime, 'yyyy-MM-dd/'))",
"type": "Expression"
}
В интерфейсе Data Factory V2 отредактируйте набор данных приемника, чтобы сделать это:
![ADF Sink Dataset](https://i.stack.imgur.com/tVdfG.png)
Добавить динамическое содержимое в соединение:
![Dynamic Content for sink](https://i.stack.imgur.com/fZ85m.png)
Вы можете сделать это аналогично, например, заменив расширение файла:
@replace(item().name, '.csv', '')
Другим вариантом может быть использование действия Databricks.за это.См. Мой следующий Ответ для сложной логики копирования в Python Notebook.