0

这是我的问题场景:

1.Create 2 apps.
2.App1 continuously pulls tweets and stores the json file in its /data folder.
3.App2  picks up the latest file from the /data folder of App1 and uses it.

我已使用 R 及其相应的构建包在 bluemix 上部署应用程序。

如何从 App2 访问 App1 中的 /data/file1 ,即我可以在 App2 源文件中执行以下操作:

read.csv("App1/data/Filename.csv") ; bluemix 会理解 App1 文件夹指向的内容吗?

4

3 回答 3

0

您无法从 bluemix 上的其他应用程序访问文件。您应该使用 cloudant 之类的数据库服务来存储您的 json。将相同的服务绑定到两个应用程序。

于 2015-03-05T03:14:26.340 回答
0

Bluemix 是一个平台即服务。这实质上意味着没有传统意义上的文件系统。是的,您的应用程序“存在”在一种 VM 上的文件结构中,但是如果您要随时重新部署或重新部署您的应用程序,对文件系统的更改将会丢失。

处理您拥有的这些数据的“正确”方法是将其存储在NoSQL数据库中并将每个应用程序指向该数据库。Bluemix 提供了几个选项,具体取决于您的需要。

MongoDB可能是更容易使用和理解的数据库之一。Cloudant也非常好且健壮,但学习曲线略高。

一旦你设置了这个数据库,你可以定期轮询它以获取新记录,或者更好的是,研究使用 WebSockets 将通知从一个应用程序实时推送到另一个应用程序。

无论哪种方式,单击CatalogBluemix 主导航中的链接并搜索这些服务中的任何一个,以将它们配置并绑定到您的应用程序。然后,您需要通过环境对象引用它们,您可以在此处VCAP_SERVICES了解更多信息。

于 2015-03-05T14:51:25.430 回答
0

使用 Cloudant 或对象存储服务之类的东西将是在两个应用程序之间共享数据的好方法。您甚至可以将相同的服务绑定到 2 个应用程序。

另一种解决方案是创建一个微服务,它是为您存储数据的持久层。然后,您可以在此基础上创建一个您的两个应用程序都可以调用的 API。

如上所述,将信息存储在磁盘上对于云应用程序来说不是一个好主意。去看看http://12factor.net,它描述了编写真正的基于云的应用程序的禁忌。

于 2015-03-06T13:37:29.827 回答