Вставка сущностей в несколько разделов хранилища таблиц Azure (одна и та же таблица) и определение того, какие вставки завершились ошибкой
У меня есть рабочая роль Azure, настроенная для получения информации из нескольких внешних веб-служб, разбора ее на несколько различных типов сущностей и хранения этих сущностей в хранилище таблиц Azure. Важно отметить, что большинство, если не все из этих сущностей, вставляются в свои собственные разделы таблицы.
Я использую tableservicecontext-расширенный класс с вызовами AddObject (EntityToBeInserted) для присоединения новых сущностей к tableservicecontext по мере их создания. В настоящее время я тогда звоню TableServiceContext.SaveChangesWithRetries (SaveChangesOptions.None) для сохранения этих сущностей в таблице в соответствующих разделах. Все это прекрасно работает.
Мой вопрос: что происходит, когда он не работает нормально? Я могу заставить 1+ сущностей не сохраняться, сделав их ключи строк и разделов неуникальными, но сообщение об ошибке, которое я ловлю вокруг этого поведения, не указывает, какая из сущностей не удалась, просто в одной из них произошла ошибка.
Как я должен поступить? сохранение сущностей в хранилище таблиц из рабочей роли, где каждая сущность переходит в свою собственную секцию (предположим, что в один из этих вызовов сохранения вставлено 2-30 сущностей), так что если одна или несколько из этих вставок завершатся неудачей, я смогу по крайней мере узнать, какая из них была? Эти операции очень чувствительны ко времени, поэтому я, к сожалению, не могу полагаться на длительные варианты повтора, чтобы дождаться, когда соответствующие узлы хранения снова станут доступны.
Спасибо, Алекс