如何解决Azure数据工厂-将文件从foreach项目复制到SFTP解析目标
另一个Azure数据工厂问题。
我正在尝试在ForEach中使用“复制数据”活动,将目标接收器设置为foreach的一项。
我的设置如下:
- 查找活动以读取json文件。
json文件的格式
{
"OutputFolders":[
{
"Source": "aaa/bb1/Output","Destination": "Dest002/bin"
},{
"Source": "aaa/bbb2/Output",{
"Source": "aaa/bb3/Output","Destination": "Dest002/bin"
}
]
}
- Foreach活动,其项目设置为@activity('Read json config')。output.value [0] .OutputFolders
- 在foreach活动中,有一个“复制数据”活动
此接收器具有以下接收器数据集:
但是,当我运行此管道时,出现以下错误消息:
{
"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 =拒绝访问'/@item().Destination'的权限似乎表明目标文件夹未解析。由于此文件夹不存在,因此我得到了SftpPermissionDenied。
我使用相同的方法将文件复制到文件共享中,并且似乎可以正常工作。
有人知道如何正确地解析此目的地吗?
解决方法
好吧,我尝试了一些尝试,显然,如果我使用了concat函数,它会起作用。
所以@concat(item()。Destination)
我确实得到警告“项目”不是公认的功能,但确实可以解决问题。
不是很简单,我想知道为什么最初的方法行不通。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。