R 如何从另一个应用程序访问文件';Bluemix上的目录是什么?

R 如何从另一个应用程序访问文件';Bluemix上的目录是什么?,r,directory,ibm-cloud,R,Directory,Ibm Cloud,这是我的问题场景: 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源文

这是我的问题场景:

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文件夹指向什么吗


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

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

处理这些数据的“正确”方法是将其存储在
NoSQL
数据库中,并将每个应用程序指向该数据库。Bluemix根据您的需要提供多种选择

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

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


无论采用哪种方式,请单击Bluemix主导航中的
目录
链接,然后搜索这些服务中的任何一项,以将它们提供并绑定到您的应用程序。然后,您需要通过
VCAP\u服务
环境对象引用它们,您可以了解更多信息。

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

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


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

此外,在写云应用程序时,将任何东西存储到磁盘上也不是一个好的做法。文件系统应被视为短暂的。即使是简单地重新启动应用程序也会导致您丢失数据。感谢您提供的信息。但这可以在R.i.e.上完成吗?App1将json推送到cloudant,App2从cloudant检索文件进行处理?