1

我很困惑,搜索了所有内容,但没有答案:

我在 Windows 上的某个地方存储了一个 excel 文件,它是“网络”下的共享文件:

\\[服务器名]\[文件夹名]\[文件夹名]\[文件夹名]\[文件夹名]\ZNAC.XLSX

我只能在这里阅读/下载文件是强制性的。当我从本地读取它时一切正常,通过使用 SMB 或将文件路径直接声明为输入流都可以正常工作。

但是当我部署到 SAP cloud Foundry 时,总是以FileNotFoundException.

我想知道云实例是否从内部而不是外部查找文件。但是我也尝试过SMB,它不起作用。我发现 Cloud Foundry 上有一个叫做“Volume service”的东西,但它在 SAP Cloud Foundry 中不可用。

有什么帮助可以让我的应用程序能够从 SAP Cloud Foundry 读取外部文件?

4

2 回答 2

0

SAP Cloud Platform / SAP BTP 没有允许您访问 SMB 驱动器的服务。一种可能性是使用 SMB/SAMBA Java 客户端库,相应地配置防火墙/SAP 云连接器。我们曾经实现过类似的东西,但在路上会有一些挑战。

另一种更简单的可能性是创建允许您访问文件的本地服务(例如 REST)。该服务也需要对 SCP 可用,例如,通过 SAP API 管理。

于 2021-04-22T12:34:57.497 回答
0

要从外部共享读取文件,您必须首先为相应共享(NFS 或 SMB)创建卷服务并启动它。

然后您必须像这样将服务实例绑定到 CF 应用程序:

cf bind-service YOUR-APP SERVICE-NAME -c '{"uid":"UID","gid":"GID","mount":"OPTIONAL-MOUNT-PATH","readonly":true}'

详细指南在这里

https://docs.cloudfoundry.org/devguide/services/using-vol-services.html#smb

于 2021-04-21T10:41:31.353 回答