如何使用 Java API 远程访问 Google Compute VM 文件系统?

How do I get access to a Google Compute VM Filesystem remotely using the Java API?

我正在构建一个框架应用程序,用于根据角色管理计算引擎之间的文件。我已经找到了很多关于管理计算引擎本身的信息,但没有找到任何关于访问它们来管理文件的信息。

Fratzke,首先你的问题不完整,你在计算引擎实例上使用什么平台,你想要只读访问吗?

请注意,如果您希望在多个计算引擎实例之间共享一个持久性磁盘,您只能在只读模式下执行此操作。 google 文档明确指出:

It is possible to attach a persistent disk to more than one instance. However, if you attach a persistent disk to multiple instances, all instances must attach the persistent disk in read-only mode. It is not possible to attach the persistent disk to multiple instances in read-write mode.

但是,您可以使用 google cloud storage, google cloud datastore 等托管服务在多个实例之间共享文件。类似问题的答案已经在 SO 上。请参阅此链接:

Share a persistent disk between Google Compute Engine VMs

编辑:
如果您想使用 JAVA 远程访问多个实例上的文件系统,那么他们必须使文件系统可用于服务。这样的服务通常是后台作业,它处理传入的请求和 returns 响应,例如用于认证、授权、读写。 request/response 模式的规范称为协议 - 例如UNIX/LINUX 上的 NFS。你 cn 写你自己的文件服务提供商 & 运行 它在实例上。可以使用套接字 (TCP/IP) 作为此类尝试的传输层。好的传输层是 http 协议,例如使用 restful 服务。

编辑 - 2

另一种可能性是使用 sshfs,在每个实例上安装文件系统并在您的 java 代码中使用它们作为安装的网络共享驱动器。

希望这对您有所帮助...温暖的问候。

没有Google API 用于从实例外部读取和写入实例文件系统。如果你想从外部访问它的文件系统,你将需要 运行 实例上的服务(ftp,sftp,等等)。