Esistono modelli di caratteri limitati in Azure TableStorage RowKeys? Non sono stato in grado di trovare alcun documento tramite numerose ricerche. Tuttavia, sto ricevendo un comportamento che implica un tale controllo delle prestazioni.Archiviazione tabella di Azure RowKey Pattern di caratteri con restrizioni?
Ho un comportamento strano con RowKeys costituito da caratteri casuali (il test driver impedisce i caratteri con restrizioni (/ \ #?) Oltre a bloccare le virgolette singole che si verificano nel RowKey). Il risultato è che ho un RowKey che inserirà fine nella tabella, ma non può essere interrogato (il risultato è InvalidInput). Per esempio:
RowKey: 9}5O0J=5Z,4,D,{!IKPE,~M]%54+9G0ZQ&G34!G+
Il tentativo di interrogare da questa RowKwy (uguaglianza) si tradurrà in un errore (sia all'interno della nostra app, utilizzando Azure Storage Explorer, e Cloud Storage Studio 2). Ho dato un'occhiata a richiesta viene inviata tramite Fiddler:
GET /foo()?$filter=RowKey%20eq%20'9%7D5O0J=5Z,4,D,%7B!IKPE,~M%5D%54+9G0ZQ&G34!G+' HTTP/1.1
Sembra che il 54% nel RowKey non è sfuggito nel filtro. È interessante notare che ottengo un comportamento simile per le richieste batch allo storage della tabella con URI nel file XML XML che include questo RowKey. Ho anche visto un comportamento simile per RowKeys con doppie virgolette incorporate, sebbene non abbia ancora isolato quel modello.
Qualcuno mi ha parlato di questo comportamento? Posso facilmente limitare i caratteri aggiuntivi che si verificano in RowKeys, ma mi piacerebbe davvero conoscere le 'regole'.
Vale anche la pena notare che mentre si può avere una% in un RowKey/PartitionKey si avranno problemi nel tentativo di recuperare qualsiasi riga che abbia una% nella sua chiave. Gli Stati membri sono a conoscenza del problema e cercano soluzioni: http://blogs.msdn.com/b/windowsazurestorage/archive/2012/05/28/partitionkey-or-rowkey-contain-the-percent-character-causes-some -windows-azure-tables-apis-to-fail.aspx – knightpfhor
Grazie a knightpfhor, questo è quello che stavo cercando. – MikeN