0

另一个 Azure 数据工厂问题。

我正在尝试在 ForEach 中使用“复制数据”活动,将目标接收器设置为 foreach 的一个项目。

我的设置如下:

  • 查找活动以读取 json 文件。

json文件的格式:

{
    "OutputFolders":[
     {   
        "Source": "aaa/bb1/Output",
        "Destination": "Dest002/bin"
     },
     {   
        "Source": "aaa/bbb2/Output",
        "Destination": "Dest002/bin"
     },
     {   
        "Source": "aaa/bb3/Output",
        "Destination": "Dest002/bin"
     }
    ]
}
  • 项目设置为 @activity('Read json config').output.value[0].OutputFolders 的 Foreach 活动
  • 在 foreach 活动中的“复制数据”活动

此 Sink 具有以下 Sink 数据集:

在此处输入图像描述

但是,当我运行此管道时,我收到以下错误消息:

{
    "errorCode": "2200",
    "message": "Failure happened on 'Sink' side. ErrorCode=SftpPermissionDenied,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Permission denied to access '/@item().Destination'.,Source=Microsoft.DataTransfer.ClientLibrary.SftpConnector,''Type=Renci.SshNet.Common.SftpPermissionDeniedException,Message=Permission denied,Source=Renci.SshNet,'",
    "failureType": "UserError",
    "target": "Copy output files",
    "details": []
}

所以 Message=Permission denied to access '/@item().Destination' 似乎表明目标文件夹未解析。由于此文件夹不存在,我得到一个 SftpPermissionDenied。

我使用相同的方法将文件复制到文件共享,它似乎工作。

有人知道如何使这个目的地正确解析吗?

4

1 回答 1

0

好的,我尝试了更多,显然如果我使用 concat 函数它可以工作。

所以@concat(item().Destination)

我确实收到警告“项目”不是公认的功能,但它确实有效。

不是很简单,我想知道为什么最初的方法不起作用。

在此处输入图像描述

于 2020-09-04T11:56:57.687 回答