Существуют ли ограниченные шаблоны символов в Azure TableStorage RowKeys? Я не смог найти какие-либо документированные многочисленные запросы. Тем не менее, я получаю поведение, которое подразумевает такое при тестировании производительности.
У меня есть странное поведение с RowKeys, состоящее из случайных символов (тестовый драйвер предотвращает появление ограниченных символов (/\ #?) и блокирование одиночных кавычек в RowKey). В результате у меня есть RowKey, который будет вставлять штраф в таблицу, но не может быть запрошен (результат InvalidInput). Например:
RowKey: 9}5O0J=5Z,4,D,{!IKPE,~M]%54+9G0ZQ&G34!G+
Попытка запроса с помощью этого RowKwy (равенства) приведет к ошибке (как в нашем приложении, так и в Azure Storage Explorer и Cloud Storage Studio 2). Я взглянул на запрос, отправленный через Fiddler:
GET /foo()?$filter=RowKey%20eq%20'9%7D5O0J=5Z,4,D,%7B!IKPE,~M%5D%54+9G0ZQ&G34!G+' HTTP/1.1
Похоже, что% 54 в RowKey не экранируется в фильтре. Интересно, что я получаю подобное поведение для пакетных запросов к хранилищу таблиц с URI в пакетном XML, который включает этот RowKey. Я также видел подобное поведение для RowKeys со встроенными двойными кавычками, хотя я еще не изолировал этот шаблон.
Кто-нибудь может мне помочь в этом? Я могу легко ограничить появление дополнительных символов в RowKeys, но очень хотел бы знать "правила".