Http 将CSV文件传输到BI应用程序的正确方法?

Http 将CSV文件传输到BI应用程序的正确方法?,http,ftp,Http,Ftp,我们正在开发BI应用程序,我们的客户每天向我们发送数据文件。我们使用CSV文件进行数据交换,因为我们的客户习惯于使用Excel查看数据,而且他们还没有准备好在他们的系统上使用API(我们希望,也许几年后我们将能够使用XML/JSON Web服务) 目前,数据传输是通过FTP(事实上是SFTP)进行的。我们的客户在FTP服务器上自动上传文件,我们有一个CRON任务来监视文件是否已发送 但这样做有很多缺点: 我们无法可靠地知道上传是否完成,或者是否仍在进行中(我们要求他们上传一个带有临时名称的文件

我们正在开发BI应用程序,我们的客户每天向我们发送数据文件。我们使用CSV文件进行数据交换,因为我们的客户习惯于使用Excel查看数据,而且他们还没有准备好在他们的系统上使用API(我们希望,也许几年后我们将能够使用XML/JSON Web服务)

目前,数据传输是通过FTP(事实上是SFTP)进行的。我们的客户在FTP服务器上自动上传文件,我们有一个CRON任务来监视文件是否已发送

但这样做有很多缺点:

  • 我们无法可靠地知道上传是否完成,或者是否仍在进行中(我们要求他们上传一个带有临时名称的文件,然后再移动,但他们中的许多人仍然没有这样做)
  • 因此,我们可以尝试猜测,并考虑上传已经完成,如果有足够的时间过去了。但FTP协议不允许获取服务器时间,并且可以取消时间同步。因此,我们可以上传一个空文件并读取它的日期,以了解服务器的时间。但我们需要书面许可才能这么做
  • FTP协议允许暂停上载
然后,我们考虑通过要求客户使用HTTPS将文件直接上传到我们的应用程序上来传输文件。这更可靠,但不太方便:

  • 我们的客户无法在上传后检查文件内容
  • 我们必须小心上传大小和服务器超时
  • 文件可能相当大(高达300英里),因此最好在上传之前压缩它们(可以将大小减小到10%)
  • 这对我们来说不仅仅是一个FTP服务器(我们需要创建用户界面,上传进度,列出要下载回来的文件,…)

还有其他解决办法吗?BI应用程序通常如何共享数据?HTTPS对我们来说是一个好的解决方案吗?

我们找到了一个解决方案,即webdav服务器。我们正在使用Nextcloud,它提供了一个在线界面,并使用webdav协议进行脚本访问

它比FTP更可靠,因为文件只有在上传完成后才会显示。
在我们的应用程序上,它比HTTP上传要好。我们不必处理文件上传,创建接口