Я прочитал эту онлайн-статью о параллелизме в Microsoft Azure Storage, в частности Table Storage. https://azure.microsoft.com/en-us/blog/managing-concurrency-in-microsoft-azure-storage-2/Настольное хранилище Azure - Управление параллелизмом
В нем объясняется, что хранилище таблиц будет по умолчанию оптимистичной стратегией параллелизма. Использование электронных тегов является ключом к реализации стратегии. Например, для операции «Заменить» требуется «Сопоставление» электронных тегов и всегда будет возвращать E-теги в ответе службы. Поэтому, если я хочу использовать операцию Replace, я должен убедиться, что отправляемый объект имеет значение E-Tag. Это имеет значение для дизайна. Например, я должен быть осторожным при абстрагировании объектов моего домена приложения от своих объектов записи данных, поскольку сопоставление между слоями потеряет контекст E-Tag, если я не введу концепт E-Tag, возможно, как идентификатор корреляции, который является более широким общий для моих объектов домена. Так что это не проблема. Проблема заключается в моем замешательстве в операции InsertOrReplace. Это не требует If-Match. Как это возможно, когда операция выполняет Replace? Кроме того, как это влияет на управление параллелизмом? Означает ли это, что для операции InsertOrReplace, специфичной для операции InsertOrReplace, TableService по умолчанию будет использовать последнюю стратегию выигрыша от записи?