我目前正在自动化ADFv2中的管道,其中源数据位于S3中。每天都会创建一个新文件,其结构为“ data_20180829.csv”
我尝试在复制数据活动的fileName字段中检测动态内容以实现此目的。但是,即使我尝试使用@ {concat('data _','20180829.csv')}之类的简单方法(应该解析为正确的值),该源也会失败。
是否可以查看动态内容将解决的内容?
答案 0 :(得分:0)
这应该只是在数据集中设置文件名表达式的问题,例如
请注意,设置是在数据集上完成的,而不是在“复制”活动级别上进行的。还要注意,通过将utcnow
函数与formatDateTime结合使用,可以使表达式更加动态,例如:
@concat('data_',formatDateTime(utcnow(),'yyyMMdd_HHmmss'),'.csv')
请注意格式字符串的大小写。大写字母MM
以两位数格式表示月份。 HH
是24小时制的小时。格式字符串的完整列表为here。
数据集的json看起来像这样:
{
"name": "DelimitedText3",
"properties": {
"linkedServiceName": {
"referenceName": "linkedService2",
"type": "LinkedServiceReference"
},
"annotations": [],
"type": "DelimitedText",
"typeProperties": {
"location": {
"type": "AzureBlobStorageLocation",
"fileName": {
"value": "@concat('data_',formatDateTime(utcnow(),'yyyMMdd_HHmmss'),'.csv')",
"type": "Expression"
},
"container": "ang"
},
"columnDelimiter": ",",
"escapeChar": "\\",
"quoteChar": "\""
},
"schema": [
{
"type": "String"
},
{
"type": "String"
},
{
"type": "String"
},
{
"type": "String"
}
]
}
}
答案 1 :(得分:0)
只是扩展wBob所说的。如果要使用foo_YYYY \ MM \ DD \之类的结构,则可以始终使用
{{1}}