Можно ли заставить Azure Tablestorage возвращать ETag постоянной длины? - PullRequest
0 голосов
/ 27 ноября 2018

Недавно я начал работать над некоторым тестированием для 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 также невозможен, так как конечная точка хранилища в любом случае перезаписывает его.

Есть ли способ заставить точность этих значений быть постоянной?

...