Подстановочные знаки для входов хранилища озера данных Azure в фабрике данных
Я просматриваю документацию Microsoft по перемещению данных в хранилище озера данных Azure и нахожу следующее о fileName
имущество:
Имя файла в хранилище озера данных Azure.
fileName
является необязательным и чувствительным к регистру. Если вы укажете имя файла, действие (включая Копирование) будет работать с конкретным файлом."
Чего я здесь не вижу, так это упоминания о шаблонах. Как мне использовать, например, не все файлы в папке, а только те, которые соответствуют 2017-foo-*.json
? Я попробовал звездочку, но, похоже, ее воспринимают буквально.
1 ответ
В зависимости от вашего источника и приемника, вы можете использовать fileFilter
свойство вместо fileName для использования подстановочных знаков, например, цитата отсюда:
Допустимые значения: * (несколько символов) и? (один символ).
Пример 1: "fileFilter": "*.log"
Пример 2: "fileFilter": 2014-1-?.txt"
Обратите внимание, что fileFilter применим для входного набора данных FileShare.
Этот пример для предварительной публикации файлов:
{
"name": "InputDataset-AllFiles",
"properties": {
"published": false,
"type": "FileShare",
"linkedServiceName": "OnPremisesFileServerLinkedService",
"typeProperties": {
"fileFilter": "*.txt",
"folderPath": "."
},
"availability": {
"frequency": "Day",
"interval": 1
},
"external": true,
"policy": {}
}
}
Я не уверен, что это свойство доступно для других типов, таких как хранилище больших двоичных объектов, озеро данных и т. Д. Можете ли вы подтвердить свой источник и приемник (если предположить, что одним из них является озеро данных)?
Дополнительная информация доступна здесь:
https://docs.microsoft.com/en-us/azure/data-factory/data-factory-onprem-file-system-connector
Polybase теперь поддерживает ADLS, поэтому вы можете перемещать данные таким образом без этих махинаций ADF.