Я новичок в Cloudant, но нашел его полезным для первого этапа данных IoT. Но мне нужно подписаться на изменения, основанные на поле id, которое отделено от _id и является уникальным для датчика, который отправляет данные. Примеры, которые я видел до сих пор, не помогли с этой проблемой. Теперь я отправляю отдельный json-документ для каждого сообщения, поэтому он должен возвращать новые документы с этим идентификатором датчика. В json docs иногда приходит вторая, но это может быть и часы.Уведомления об изменениях в облаке
Я использую C# в веб-приложении .Net. Приведенный ниже код создает вызов к базе данных Cloudant и возвращает данные, которые я хочу на основе индекса, который был создан для поля SensorId,
json =
{{
"selector": {
"SensorID" : "h7365cf3-17bc-4422-b436-f7bcf12b2e2a"
},
"fields": [
"Data"
]
}}
url = My Cloudant url + ” /_find”.
Это возвращает все документы с полем SensorId, что соответствует значению SensorId в json-запросе, но только json-объект каждого документа, вложенного в поле Data.
using (WebClient client = new WebClient())
{
byte[] postBytes = System.Text.ASCIIEncoding.UTF8.GetBytes(json.ToString());
client.UseDefaultCredentials = true;
client.Credentials = new NetworkCredential(username, password);
client.Headers[HttpRequestHeader.ContentType] = "application/json";
var response = client.UploadData(url, "POST", postBytes);
JObject iJson = JObject.Parse(client.Encoding.GetString(response));
return parseIncoming(iJson);
}
Когда вызов в Мой Cloudant URL + «GET/_DB_UPDATES», он возвращает информацию об изменениях всей базы данных. Это можно настроить как непрерывную подачу.
Я надеялся, что это означает, что я могу подписаться на изменения в документах, чтобы получить новые данные, такие как Redis Pub/Sub. Я начинаю думать, что это может быть не так, но если кто-нибудь может показать мне, как это сделать, я был бы благодарен.
Привет, Dan, вам нужно разместить здесь код, чтобы кто-то мог помочь. –
Обратите внимание на запрос _changes. Это может помочь вам, когда вы используете «feed = continu». Подробности здесь https://docs.cloudant.com/database.html#get-changes –