Я не мог заставить это работать без непосредственного редактирования файла JSON конвейера копирования (конец 2018 года - возможно, больше не понадобится). Вам нужен динамический код в JSON конвейера копирования и параметры, определенные в наборе данных для установки параметров имени файла.
В наборе данных определите «Параметры» для пути к папке и/или имени файла (нажмите «+ Создать» и дайте им любое имя, которое вам нравится), например. путь к исходной папке, имя исходного файла.
Затем в наборе данных в разделе «Подключение» включите следующее в определение «Путь к файлу»: @dataset().sourceFolderPath и @dataset().sourceFileName по обе стороны от «/» (см. снимок экрана ниже)
В конвейере копирования нажмите «Код» в правом верхнем углу окна конвейера и найдите следующий код под объектом «BLOB», который вы хотите определить с помощью динамического имени файла — если код «параметров» не включен, добавьте его в JSON и нажмите кнопку «Готово» — этот код может понадобиться во «входах», «выходах» или в обоих, в зависимости от динамических файлов, на которые вы ссылаетесь в своем потоке — ниже приведен пример, когда выходные данные включают параметр даты в обоих путь к папке и имя файла (дата задается параметром Trigger):
"inputs": [
{
"referenceName": "tmpDataForImportParticipants",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "StgParticipants",
"type": "DatasetReference",
"parameters": {
"sourceFolderPath": {
"value": <derived value of folder path>,
"type": "Expression"
},
"sourceFileName": {
"value": <derived file name>,
"type": "Expression"
}
}
}
]
Производное значение пути к папке может быть примерно таким: это приводит к пути к папке гггг/мм/дд в указанном blobContainer:
"blobContainer/@{formatDateTime(pipeline().parameters.windowStart,'yyyy')}/@{formatDateTime(pipeline().parameters.windowStart,'MM')}/@{formatDateTime(pipeline().parameters.windowStart ,'дд')}"
или это может быть жестко запрограммировано, например. «blobContainer/directoryPath» — не включайте «/» в начале или конце определения.
Производное имя файла может быть примерно таким:
"@concat(string(pipeline().parameters.'_',formatDateTime(dataset().WindowStartTime, 'MM-dd-yyyy_hh-mm-ss'))>,'.txt')"
Вы можете включить любой параметр, установленный триггером, например. значение идентификатора, имя учетной записи и т. д., включив параметр pipe().
Пример параметров динамического набора данных
Пример динамического подключения к набору данных
person
tashb
schedule
07.02.2019