Azure TableStorage RowKeys中是否存在受限字符模式?我無法通過大量搜索找到任何記錄。然而,我得到的行爲暗示着這樣的一些性能測試。我有一些奇怪的行爲,包含隨機字符(測試驅動程序阻止受限制的字符(/ \#?)加上在RowKey中出現阻止單引號)組成的RowKeys。結果是我有一個RowKey將插入到表中,但不能被查詢(結果是InvalidInput)。例如:Azure表存儲RowKey受限字符模式?
RowKey: 9}5O0J=5Z,4,D,{!IKPE,~M]%54+9G0ZQ&G34!G+
試圖通過這種RowKwy(平等)查詢會導致錯誤(我們的應用程序,使用Azure存儲資源管理器,雲存儲工作室2中)。我把通過小提琴手正在發送的查看請求:
GET /foo()?$filter=RowKey%20eq%20'9%7D5O0J=5Z,4,D,%7B!IKPE,~M%5D%54+9G0ZQ&G34!G+' HTTP/1.1
它出現在RowKey的54%,在過濾器中沒有逃脫。有趣的是,對於使用包含此RowKey的批處理XML中的URI進行表存儲的批處理請求,我獲得了類似的行爲。我還看到了嵌入雙引號的RowKeys類似的行爲,但我還沒有分離出這種模式。
有人幫我解決了這個問題嗎?我可以輕鬆地限制RowKeys中出現的其他字符,但真的想知道「規則」。
還值得注意的是,儘管您可以在RowKey/PartitionKey中擁有%,但在嘗試檢索其關鍵字中包含%的任何行時會遇到問題。 MS知道問題並正在研究解決方案:http://blogs.msdn.com/b/windowsazurestorage/archive/2012/05/28/partitionkey-or-rowkey-containing-the-percent-character-causes-some -windows-azure-tables-apis-to-fail.aspx – knightpfhor 2012-07-17 10:33:31
感謝knightpfhor,那就是我一直在尋找的東西。 – MikeN 2012-07-17 16:03:23