2016-04-21 7 views
5

मैं .net एसडीके (v1.6.3) से विभाजित संग्रह (सर्वर साइड विभाजन) पर संग्रहीत प्रक्रिया निष्पादित करने का प्रयास कर रहा हूं।एक संग्रहित प्रक्रिया निष्पादित करने के लिए आप विभाजन विभाजन कैसे पास करते हैं?

await client.ExecuteStoredProcedureAsync<string>(UriFactory.CreateStoredProcedureUri("db0", "collection0", "testsproc0"), storedProcedureParams);

मैं प्राप्त त्रुटि "PartitionKey मूल्य इस कार्रवाई के लिए आपूर्ति की जानी चाहिए।" वास्तव में, जब मैं स्क्रिप्ट एक्सप्लोरर के साथ खेलता हूं तो मुझे यह त्रुटि Azure पोर्टल में दिखाई देती है। हालांकि, मुझे पार्टिशनकी जोड़ने का कोई तरीका नहीं दिखता है। क्या यह अभी एपीआई और विभाजित संग्रहों के साथ एक सीमा है, या क्या मुझे कुछ याद आ रहा है?

उत्तर

5

आप अनुरोध विकल्प के साथ अधिभारित ExecuteStoredProcedureAsync विधि का उपयोग कर विभाजन कुंजी में पास कर सकते हैं। उदाहरण के लिए,

await client.ExecuteStoredProcedureAsync<DeviceSignal>(
UriFactory.CreateStoredProcedureUri("db", "coll", "SetLatestStateAcrossReadings"), 
new RequestOptions { PartitionKey = new PartitionKey("XMS-001") }, sprocsParams); 
+0

मैं निश्चित रूप से लगता है कि आप कर रहे हैं सही है क्योंकि यह है कि क्या उनके डॉक्स में है, लेकिन दुर्भाग्य से मैं अभी भी त्रुटि मिल रही है। मुझे लगता है कि एक मुद्दा है क्योंकि मैंने एकल विभाजन संग्रह पर विभाजन कुंजी सेट की है। – JamyRyals

0

मैं एक ऐसी ही त्रुटि प्राप्त किया और पाया कि मैं कोई गलत Partition Key Path था के रूप में रेखा, collectionDefinition.PartitionKey.Paths.Add("/LastName") में दिखाया गया है, नीचे दिए गए जब मैं दस्तावेज़ संग्रह बनाया गया था। मेरा ExecuteStoredProcedure RequestOption उस क्षेत्र से मेल नहीं खाता जिसे मैंने new RequestOptions { PartitionKey = new PartitionKey("matchingLastNameSelectionHere") } में चुना था। उम्मीद है की यह मदद करेगा।

 private static async Task<DocumentCollection> CreateCollectionAsync(string dbLink, string id) 
    { 
     DocumentCollection collectionDefinition = new DocumentCollection { Id = id }; 
     collectionDefinition.IndexingPolicy = new IndexingPolicy(new RangeIndex(DataType.String) { Precision = -1 }); 
     collectionDefinition.PartitionKey.Paths.Add("/LastName"); 

     return await _client.CreateDocumentCollectionAsync(
      dbLink, 
      collectionDefinition, 
      new RequestOptions { OfferThroughput = 400 }); 
    } 

कोड निष्पादित

await client.ExecuteStoredProcedureAsync<DeviceSignal>(UriFactory.CreateStoredProcedureUri("db", "coll", "SetLatestStateAcrossReadings"), new RequestOptions { PartitionKey = new PartitionKey("matchingLastNameSelectionHere") }, sprocsParams); 
+0

pydocumnetdb क्लाइंट (पायथन क्लाइंट) का उपयोग करके केवल एक विधि उपलब्ध क्लाइंट का उपयोग कैसे करें। निष्पादनस्टोरप्रोसेसर() – donald

संबंधित मुद्दे