在我们的项目中,我们有以下关键组件:
和外部 FTP 服务器。
在我们的应用程序中,在后台,我们连接到 FTP 服务器,从 FTP 服务器获取/下载所有文件并将它们上传到我们的 Azure 存储帐户,然后,我们将这些文件排队以供进一步处理和存储在 Postgres DB 中处理的数据。
现在我们面临的问题是, 当我们开始从 FTP 服务器摄取/下载文件时,它不会从 FTP 服务器摄取所有文件。假设 FTP 服务器上的文件夹包含 100 个文件,应用程序只会摄取一定数量的文件,并且摄取会突然停止。
我在日志中没有看到任何错误,无法弄清楚到底发生了什么。我在我的本地机器上通过使用带有本地 Postgres DB 的 Azure 服务总线和 Azure 存储对此进行了测试,并且它能够毫无问题地摄取所有文件。 问题似乎只发生在 Azure 应用服务上。
我正在使用单个 FTP 连接从给定目录中提取所有文件,我认为问题是因为在这段时间内 FTP 连接保持打开状态以单独从 FTP 服务器从目录和将其上传到 Azure 存储帐户。
我尝试了以下方法:
我使用 paramiko
python 包从 FTP 服务器获取数据。
我在这里遗漏了什么?