Статьи

Изучение службы CloudHub для хранения данных приложений

Этот сервис платформы CloudHub появился в выпуске CloudHub R20 , в котором используются возможности Object Store от Mule . Каждое интеграционное приложение CloudHub имеет собственное хранилище, не требующее настройки. Это чрезвычайно упрощает реализацию двух очень важных сценариев интеграции:

  1. Сохранение токенов OAuth — все наши соединители с поддержкой OAuth могут хранить токены и восстанавливать их с помощью ObjectStores
  2. Сохранение состояния синхронизации — вашему приложению может потребоваться отслеживать синхронизацию последней записи, поэтому при следующей синхронизации она может возобновить работу с того места, где она остановилась

Кроме того, вы можете хранить любые другие данные, которые вы хотите в нем! Давайте более подробно рассмотрим эти сценарии.

Постоянные OAuth-токены

Для тех, кто использует какой-либо из наших коннекторов, поддерживающих OAuth, первый вопрос всегда заключается в том, как сохранять и восстанавливать токены OAuth в течение всего жизненного цикла приложения. Теперь это просто вопрос использования модуля Object Store, как описано в каждом соединителе . Более того, мы делаем это в Mule 3.3.1, чтобы управление токенами OAuth работало без дополнительных настроек.

Хранение состояния синхронизации

Другой действительно распространенный вариант использования — сохранение состояния синхронизации. Например, предположим, что вы хотите синхронизировать только новые счета из вашей CRM в свою биллинговую систему. Вы можете отслеживать синхронизацию последнего счета и использовать его в поисковом запросе при синхронизации счетов.

Вот быстрый псевдо-пример:

<objectstore:config name="Objectstore" partition="default" doc:name="Objectstore"/>

<flow name="PollForNewInvoices">
    <poll frequency="10000">
        <!-- Get the last invoice synced -->
        <objectstore:retrieve config-ref="Objectstore" key="lastInvoiceId" defaultValue-ref="#[-1]" doc:name="Get Last Invoice ID"/>
    </poll>
    <!-- search for invoices with an ID greater than lastInvoiceId -->
    <flow-ref name="GetUpdatedInvoices"/>
    <!-- Update the last invoice synced -->
    <objectstore:store config-ref="Objectstore" key="lastInvoiceId" value-ref="#[payload[payload.size() - 1].id]" overwrite="true" doc:name="Objectstore"/>
</flow>

его путь, даже если вы обновите свою интеграцию, он возобновит с того места, где остановился.

Просмотр данных вашего приложения

Получив данные в хранилище объектов, вы можете легко просмотреть их, щелкнув вкладку «Данные приложения» при управлении приложением CloudHub. Отсюда вы сможете просматривать и искать ваши данные. Мы также добавим возможность редактировать и удалять данные в будущем.

И больше?

Вы можете использовать ObjectStores для хранения любых данных (в определенных пределах ), используя модуль ObjectStore . Есть вещи, для которых вы хотели бы использовать это? Дайте нам знать об этом в комментариях!