Недавно я начал работать над некоторым тестированием для Azure TableStorage, и я заметил одну вещь: они, очевидно, делают странные временные метки для своих ETag.
Я хотел бы проверить кое-что, касающееся точных ограничений байтовзагрузки данных, но проблема, по-видимому, заключается в том, что это вряд ли надежно, поскольку объект может время от времени становиться слишком большим или слишком маленьким.
Проблема заключается в том, что
ETag, очевидно, имеют временные метки,но они не имеют отметки времени последовательно .
В зависимости от того, достигли ли вы определенной точности в миллисекундном диапазоне, вы можете получить такой тег:
W/\"datetime'2018-11-27T07%3A58%3A29.5163963Z'\"
или как это
W/\"datetime'2018-11-27T07%3A58%3A29.65348Z'\"
Учитывая формулу расчета размера ETag:
BaseSize (8) + Property name length * 2 ("ETag" -> 8) + 4 + ETag.length *2
Это может привести к различиям в размере всего объекта.
НастройкаПостоянный ETag сам перед выполнением операции TableOperation также невозможен, так как конечная точка хранилища в любом случае перезаписывает его.
Есть ли способ заставить точность этих значений быть постоянной?