我很困惑,在谷歌上搜索了所有内容,但没有答案:
我有一个excel文件存储在windows上这样的地方,它是"网络"下的共享文件:
\\[serverName]\[folderName]\[ffolderName]\[folderName]\ ZNAC.XLSX
我必须只能在此处读取/下载文件。当我从本地读取它时,一切都很好,通过使用SMB或将文件路径直接声明为输入流,两者都很好。
但当我部署到SAP云代工时,它总是以FileNotFoundException
结束,我尝试了很多方法,但没有改变。
我想知道云实例是从内部还是从外部查找文件。但我也尝试过SMB,它不起作用。我发现云铸造上有一种叫做"批量服务"的东西,但它在SAP cloud foundry中不可用。
有什么帮助可以让我的应用程序从SAP Cloud Foundry读取外部文件吗?
要从外部共享读取文件,必须首先为相应的共享(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
SAP云平台/SAP没有允许您访问SMB驱动器的服务。一种可能性是使用SMB/SAMBA Java客户端库,相应地配置防火墙/SAP云连接器。我们曾经实现过这样的东西,但在前进的道路上还有一些挑战。
另一种更简单的可能性是创建一个允许访问文件的内部部署服务(例如REST(。此服务也需要提供给SCP,例如,通过SAP API管理。