Это мой проблемный сценарий:

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.

Как мне получить доступ к / data / file1 в App1 из App2, т.е. могу ли я сделать что-то подобное в исходном файле App2:

read.csv ("Приложение1 / данные / имя файла.csv"); поймет ли bluemix, на что указывает папка App1?

0
ruviansh 5 Мар 2015 в 05:48

3 ответа

Лучший ответ

Bluemix - это платформа как услуга. По сути, это означает, что файловой системы в традиционном смысле нет. Да, ваше приложение «живет» в файловой структуре на типе виртуальной машины, но если вы в любой момент перезапустите или повторно развернете приложение, изменения в файловой системе будут потеряны.

«Правильный» способ обрабатывать эти данные, которые у вас есть, - хранить их в базе данных NoSQL и указывать каждое приложение на эту базу данных. Bluemix предлагает несколько вариантов в зависимости от ваших потребностей.

MongoDB, вероятно, одна из самых простых и понятных БД для использования и понимания. Cloudant тоже очень хороший и надежный, но требует немного большего обучения.

После настройки этой БД вы можете периодически опрашивать ее на предмет новых записей или, что еще лучше, изучить возможность использования WebSockets для передачи уведомлений из одного приложения в другое в режиме реального времени.

В любом случае щелкните ссылку Catalog в главной навигации Bluemix и найдите любую из этих служб, чтобы предоставить и привязать их к своему приложению. Затем вам нужно будет ссылаться на них через объект среды VCAP_SERVICES, о котором вы можете узнать больше о здесь.

0
Matt Hamann 5 Мар 2015 в 14:51

Использование чего-то вроде Cloudant или службы Object Storage было бы отличным способом обмена данными между двумя приложениями. Вы даже можете привязать одну и ту же службу к 2 приложениям.

Другое решение - создать микросервис, представляющий собой ваш уровень постоянства, который будет хранить ваши данные за вас. Затем вы можете создать API поверх этого, который могли бы вызывать оба ваших приложения.

Как указано выше, хранение информации на диске - не лучшая идея для облачного приложения. Зайдите на страницу http://12factor.net, там описаны запреты на создание настоящего облачного приложения.

0
Jeff Sloyer 6 Мар 2015 в 13:37

Вы не можете получить доступ к файлам из другого приложения на bluemix. Вы должны использовать службу базы данных, такую ​​как cloudant, для хранения вашего json. Привяжите одну и ту же службу к обоим приложениям.

0
Ram Vennam 5 Мар 2015 в 03:14