繁体   English   中英

Azure 逻辑应用程序/数据工厂,使用 FTPS 获取文件

[英]Azure Logic Apps/Data Factory, getting files using FTPS

我正在尝试通过 ftps 从 ftp 服务器获取文件。 这篇文章更新了更多的测试结果和来自回复和我自己的研究的知识。 ftp 服务器在端口 990 上支持 ftps 隐式 SSL/TLS 模式,在端口 21 上支持显式模式。我尝试从逻辑应用程序和数据工厂获取文件,但均未成功。

测试隐式模式。 端口 990,启用 SSL,二进制传输 true/false 都尝试过(逻辑应用程序),禁用服务器证书验证,产生此错误:

数据工厂错误:

“无法连接到 FTP 服务器。ADF 不支持 SSL/TLS 隐式加密模式。请确保您正在通过显式加密模式进行连接。基础连接已关闭:服务器违反了协议。”

逻辑应用程序错误:

{
  "error": {
    "code": 502,
    "source": "logic-apis-northeurope.azure-apim.net",
    "clientRequestId": "c935a165-c725-4d26-824d-d1df3c82a65c",
    "message": "BadGateway",
    "innerError": {
      "status": 502,
      "message": "An FTP protocol violation was detected. This could be caused by an implicit TLS/SSL configuration of the FTP server that is not supported. Please try explicit TLS/SSL.\r\nclientRequestId: c935a165-c725-4d26-824d-d1df3c82a65c",
      "error": {
        "message": "An FTP protocol violation was detected. This could be caused by an implicit TLS/SSL configuration of the FTP server that is not supported. Please try explicit TLS/SSL."
      },
      "source": "ftp-ne.azconn-ne.p.azurewebsites.net"
    }
  }
}

正如下面的响应所示,数据工厂和 Logig 应用程序都支持隐式模式。

测试显式模式。 端口 21,启用 SSL,二进制传输 true/false 都尝试过(逻辑应用程序),禁用服务器证书验证,产生此错误:

数据工厂错误:

“无法连接到 FTP 服务器。请确保提供的服务器信息正确,然后重试。远程服务器返回错误:150 正在为“/”的目录列表打开数据通道。身份验证失败,因为远程方已关闭传输流”

逻辑应用程序错误:

{
  "error": {
    "code": 502,
    "source": "logic-apis-northeurope.azure-apim.net",
    "clientRequestId": "61a1cc3e-74f3-40ac-a9f3-79a1409d81cc",
    "message": "The response is not in a JSON format.",
    "innerError": "The specified CGI application encountered an error and the server terminated the process."
  }
}

使用 FileZilla 客户端进行测试。

隐式端口 (990) 和显式模式(端口 21)都可以正常工作。 我原来的问题在哪里:有没有办法让数据工厂或逻辑应用程序中的 FTP 连接与 SSL/TLS 隐式模式一起工作? 正如下面的回复所述。 逻辑应用程序和数据工厂不支持隐式模式。

解决方法是创建一个 Function 应用程序,其中 c# 代码通过隐式模式获取文件。 并从逻辑应用程序和/或数据工厂调用 Function 应用程序。

但为什么显式模式不起作用? 有小费吗?

不幸的是,Azure 数据工厂和 Azure 逻辑应用都不支持隐式 TLS/SSL 配置。 这是一个已知的限制。

Azure 数据工厂限制:ADF FTP 连接器支持不加密或显式 SSL/TLS 加密访问 FTP 服务器; 它不支持隐式 SSL/TLS 加密。 (参考: 使用 Azure 数据工厂从 FTP 服务器复制数据

Azure 逻辑应用程序限制:Azure 逻辑应用程序 FTP 连接器仅支持显式 FTP over SSL (FTPS),与隐式 FTPS 不兼容(参考: Azure 逻辑应用程序 FTP 连接器限制

隐式模式 FTPS 已弃用,因此在 Azure 服务中缺少支持。

显式模式下的错误表明您实际连接并验证了服务器。 它试图打开数据通道以发送目录列表,但打开的请求已“关闭”。

此错误表明您正在使用主动模式,而您可能应该使用被动模式。 在主动模式下,FTP 服务器尝试连接回客户端以创建数据通道。 防火墙很有可能会阻止这种情况。 使用被动模式需要客户端连接到服务器以获取数据通道。 防火墙允许连接通过的机会更大。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM