如何从Pivotal Cloud Foundry中托管的Java应用程序访问Windows NAS文件共享

问题描述 投票:0回答:1

我们有一个带有JPEG的Windows文件共享,我试图通过Java Spring Boot REST API从Pivotal Cloud Foundry访问。实现这一目标的PCF和Java本身需要哪些步骤?

我是否必须首先在PCF中安装驱动器,然后我可以使用标准的java.io库以某种方式访问​​此文件?截至目前,我们只是想将JPEG文件读入BufferedImage,并在进行一些图形操作(我知道该怎么做)之后将它们作为Base64返回,但是我仍然不知道该如何处理这个问题。 PCF的领域。显然,它在我的Windows开发机器上工作得很好,我的登录用户也拥有文件共享的凭据,无需安装或执行任何特殊操作。

我一直在线阅读有关SMB和JCIFS库的文章,但仍然不确定这是否是我需要的,或者如何将这些应用于手头的技术。

java spring-boot pivotal-cloud-foundry pivotal-web-services
1个回答
0
投票

从Pivotal Cloud Foundry 2.4开始,您可以启用SMB卷服务。这使您可以cf create-service指向SMB服务器的卷服务。然后,您可以将其绑定到您的应用程序,当您的应用程序启动时,平台会将SMB卷安装到您指定的安装点。此时,您的应用只需要知道挂载点,如/smb/files,因此它可以使用标准Java I / O来读取文件。

如果您是平台运营商,则可以在此处获取启用SMB卷服务的说明。

https://docs.pivotal.io/pivotalcf/2-4/opsguide/enable-vol-services.html#smb-enable

如果您是开发人员,请使用此处的说明。

https://docs.pivotal.io/pivotalcf/2-4/devguide/services/using-vol-services.html#smb


如果您使用的是较早版本的PCF,或者您的操作员未启用此功能,则需要在应用中编写代码以直接访问SMB卷。有多个库可以执行此操作(并且可能比此列表中的更多)。

  1. https://www.jcifs.org/
  2. https://github.com/hierynomus/smbj
  3. https://github.com/AgNO3/jcifs-ng

我不能推荐一个特定的,所以你需要评估并找出哪一个适合你。

请记住,无论您选择什么,您都需要从运行在PCF上的应用程序访问SMB服务器。这意味着IP需要可路由且不被防火墙阻止。如果您无法连接,您可能还希望与平台运营商一起检查网络访问,并确保没有任何东西阻止连接(防火墙,应用程序安全组等)。

希望有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.