Можно ли выполнять условные вставки с помощью хранилища таблиц Azure

Можно ли сделать условную вставку с помощью Windows Azure Служба хранилища таблиц?

По сути, я бы хотел вставить новую строку / объект в раздел службы хранилища таблиц тогда и только тогда, когда ничего не изменилось в этом разделе с момента последнего просмотра.

Если вам интересно, я имею в виду поиск событий, но я думаю, что это более общий вопрос.

В основном я хотел бы прочитать часть или весь раздел и принять решение на основе содержания данных. Чтобы гарантировать, что в разделе ничего не изменилось с момента загрузки данных, вставка должна вести себя как нормальный оптимистичный параллелизм: вставка должна быть успешной только в том случае, если в разделе ничего не изменилось - строки не были добавлены, обновлены или удалены.

Обычно в службе REST я бы ожидал использовать ETags для управления параллелизмом, но, насколько я могу судить, для раздела нет ETag.

Лучшее решение, которое я могу придумать, - поддерживать одну строку / объект для каждого раздела в таблице, которая содержит метку времени / ETag, а затем делать все вставки частью пакета , состоящего из вставки а также условное обновление этой «отметки времени». Однако это звучит несколько громоздко и хрупко.

Возможно ли это с помощью службы хранилища таблиц Azure?

7
задан Mark Seemann 31 January 2012 в 17:21
поделиться