ADF 复制 Activity FTP 来源奇怪的行为
ADF Copy Activity FTP Source strange behavior
我创建了一个 ADF 管道,用于将大约 18 个文件从 FTP 位置复制到 Azure Blob 容器中。最初,我使用 Get Metadata Activity 从 FTP 位置获取所有文件。然后,我让 ForEach activity 循环遍历所有文件。在 ForEach Activity 中,我有复制数据 Activity,它从 FTP 位置复制到 Blob 位置。
虽然 运行 管道正在复制一些文件,但是其中一些文件失败并显示以下错误消息 -
"ErrorCode=UserErrorFileNotFound,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=The remote server returned an error: (550) File unavailable (e.g., file not found, no access).,Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Net.WebException,Message=The remote server returned an error: (550) File unavailable (e.g., file not found, no access).,Source=System,'"
我不确定这里出了什么问题,因为其他文件已成功复制,但是很少有文件没有。我不得不多次尝试,仍然无法保证所有文件都会被复制。
当我尝试查看与 FTP 链接服务的连接是否正常时,它显示连接成功。 FTP 链接服务已启用 SSL 并配置为从 Azure Key Vault 获取密码。
当我 运行 管道 -
时参考下面的输出
想知道这里出了什么问题吗?一次复制的文件数量有限制吗?
提前致谢。
正如@Joel Cochran 所说,问题可能是并发限制问题。
当我们selectSequential
,Copyactivity会单线程。取消勾选,Copyactivity会多线程,效率大大提高
所以我们的解决方案是:
- 取消选中
Sequential
- 增加内部活动的最大并行操作数。
我创建了一个 ADF 管道,用于将大约 18 个文件从 FTP 位置复制到 Azure Blob 容器中。最初,我使用 Get Metadata Activity 从 FTP 位置获取所有文件。然后,我让 ForEach activity 循环遍历所有文件。在 ForEach Activity 中,我有复制数据 Activity,它从 FTP 位置复制到 Blob 位置。
虽然 运行 管道正在复制一些文件,但是其中一些文件失败并显示以下错误消息 -
"ErrorCode=UserErrorFileNotFound,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=The remote server returned an error: (550) File unavailable (e.g., file not found, no access).,Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Net.WebException,Message=The remote server returned an error: (550) File unavailable (e.g., file not found, no access).,Source=System,'"
我不确定这里出了什么问题,因为其他文件已成功复制,但是很少有文件没有。我不得不多次尝试,仍然无法保证所有文件都会被复制。
当我尝试查看与 FTP 链接服务的连接是否正常时,它显示连接成功。 FTP 链接服务已启用 SSL 并配置为从 Azure Key Vault 获取密码。
当我 运行 管道 -
时参考下面的输出想知道这里出了什么问题吗?一次复制的文件数量有限制吗?
提前致谢。
正如@Joel Cochran 所说,问题可能是并发限制问题。
当我们selectSequential
,Copyactivity会单线程。取消勾选,Copyactivity会多线程,效率大大提高
所以我们的解决方案是:
- 取消选中
Sequential
- 增加内部活动的最大并行操作数。