我对 ADF 还很陌生,我有一个为 SFTP 配置的 Blob 存储。在此 Blob 上,我想复制具有“.json”扩展名或其他特定扩展名的文件。我使用了复制文件活动和 2 个二进制数据集。对于源,我使用通配符文件夹路径和“*.json”作为文件名。对于水槽,我只是使用“test”作为子文件夹。 我可以复制它们,但我无法保留它们的原始名称。我怎样才能做到这一点?
我尝试通过variabilising进行配置,但也许我做错了。我无法获取正在复制的文件的名称
管道 json :
{
"name": "pipeline3_A",
"properties": {
"activities": [
{
"name": "Copy data1",
"type": "Copy",
"dependsOn": [],
"policy": {
"timeout": "0.12:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"userProperties": [],
"typeProperties": {
"source": {
"type": "BinarySource",
"storeSettings": {
"type": "SftpReadSettings",
"recursive": false,
"wildcardFileName": "*.json",
"deleteFilesAfterCompletion": false,
"disableChunking": false
},
"formatSettings": {
"type": "BinaryReadSettings"
}
},
"sink": {
"type": "BinarySink",
"storeSettings": {
"type": "SftpWriteSettings",
"copyBehavior": "FlattenHierarchy",
"operationTimeout": "01:00:00",
"useTempFileRename": true
}
},
"enableStaging": false
},
"inputs": [
{
"referenceName": "Binary1",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "Binary2",
"type": "DatasetReference"
}
]
}
],
"variables": {
"FileName": {
"type": "String"
}
},
"annotations": []
}
}
根据您的管道 Json,您选择 扁平化层次结构 作为接收器中的复制行为。这可能是您的文件名显示如下的原因:
在水槽中设置复制行为无,如下所示:
成功运行复制活动后,您将获得如下所示的文件名:
这是管道 Json 供您参考:
{
"name": "pipeline6",
"properties": {
"activities": [
{
"name": "Copy data1",
"type": "Copy",
"dependsOn": [],
"policy": {
"timeout": "0.12:00:00",
"retry": 0,
"retryIntervalInSeconds": 30,
"secureOutput": false,
"secureInput": false
},
"userProperties": [],
"typeProperties": {
"source": {
"type": "BinarySource",
"storeSettings": {
"type": "SftpReadSettings",
"recursive": true,
"wildcardFolderPath": "ins",
"wildcardFileName": "*.json",
"deleteFilesAfterCompletion": false,
"disableChunking": false
},
"formatSettings": {
"type": "BinaryReadSettings"
}
},
"sink": {
"type": "BinarySink",
"storeSettings": {
"type": "SftpWriteSettings",
"operationTimeout": "01:00:00",
"useTempFileRename": true
}
},
"enableStaging": false
},
"inputs": [
{
"referenceName": "sftpsrc",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "sftpsink",
"type": "DatasetReference"
}
]
}
],
"annotations": []
}
}