क्या Azure TableStorage RowKeys के भीतर प्रतिबंधित चरित्र पैटर्न हैं? मैं कई खोजों के माध्यम से किसी भी दस्तावेज को खोजने में सक्षम नहीं हूं। हालांकि, मुझे व्यवहार मिल रहा है जो कुछ प्रदर्शन परीक्षणों में इसका तात्पर्य है।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 दिखाई देता है फिल्टर में से छोड़ा नहीं गया है। दिलचस्प बात यह है कि बैच एक्सएमएल में यूआरआई के साथ टेबल स्टोरेज में बैच अनुरोधों के लिए मुझे समान व्यवहार मिलता है जिसमें यह रोकी शामिल है। मैंने एम्बेडेड डबल कोट्स के साथ रोकेज़ के लिए भी इसी तरह के व्यवहार को देखा है, हालांकि मैंने अभी तक उस पैटर्न को अलग नहीं किया है।
क्या कोई मुझे इस व्यवहार में सह करता है? मैं पंक्तियों में होने वाले अतिरिक्त पात्रों को आसानी से प्रतिबंधित कर सकता हूं, लेकिन वास्तव में 'नियम' जानना चाहूंगा।
यह भी ध्यान देने योग्य है कि जब आप रोकी/विभाजन में% हो सकते हैं तो आपको किसी भी पंक्ति को पुनः प्राप्त करने की कोशिश करने में समस्या होगी जिसमें इसकी कुंजी में% है। एमएस समस्या से अवगत हैं और समाधानों की तलाश में हैं: http://blogs.msdn.com/b/windowsazurestorage/archive/2012/05/28/partitionkey-or-rowkey-containing-the-percent-character-causes-ome -विंडोज़-एज़ूर-टेबल-एपिस-टू-असफल.एएसपी – knightpfhor
धन्यवाद नाइटफफर, यही वह है जिसे मैं ढूंढ रहा था। – MikeN