आप सशर्त लेखन का उपयोग कर अद्वितीय कुंजी बना सकते हैं। बस उस अगले ग्राहक नंबर के साथ PutAttributes करें जिसका आप उपयोग करना चाहते हैं और वह डेटा जिसे आप स्टोर करना चाहते हैं। आप वास्तविक आइटम नाम के लिए कोई शर्त नहीं जोड़ सकते हैं, लेकिन आप हमेशा एक विशेषता का उपयोग कर सकते हैं, (जैसे सृजन दिनांक या उपयोगकर्ता समूह)।
शर्त निर्धारित करें:
Expected.1.Name=creation_date
Expected.1.Exists=false
कॉल केवल सफल होगा अगर वहाँ है कि आइटम नाम के साथ एक आइटम में कोई CREATION_DATE है। यदि आप हमेशा creat_date लिखते हैं, तो आपको नए आइटम नाम पर आशावादी लॉकिंग का प्रभाव मिलता है। निस्संदेह आप अपनी इच्छित किसी भी विशेषता का उपयोग कर सकते हैं, जब तक आप इसे पहले सशर्त पॉट में हमेशा शामिल न करें।
सशर्त लेखन का प्रदर्शन ज्यादातर स्थितियों में सामान्य लिखने जैसा ही है, लेकिन जब सरल डीबी भारी भार या उच्च आंतरिक नेटवर्क विलंबता के अंतर्गत है, तो सामान्य कॉल की तुलना में इन कॉलों में अधिक समय लगेगा। SimpleDB के अंदर दुर्लभ विफलता परिदृश्यों के दौरान, सशर्त लेखन समय के लिए पूरी तरह विफल हो जाएगा।
यदि आप इसे बर्दाश्त नहीं कर सकते हैं, तो आपको आउटेज के दौरान अपनी अनूठी कुंजी प्राप्त करने के लिए किसी प्रकार का वैकल्पिक तरीका कोड करना होगा। एक अलग SimpleDB क्षेत्र का उपयोग केवल मुख्य पीढ़ी के लिए किया जा सकता है, क्योंकि SimpleDB अभी भी सामान्य लेखन (गैर-सशर्त पुटएट्रिब्यूट) को आउटेज के दौरान स्वीकार करेगा।
उत्तर के लिए धन्यवाद! इसे पढ़ने के बाद, मैं प्रलेखन पर वापस गया जो अब मुझे स्पष्ट करता है। यह यहां पाया जा सकता है: http://docs.amazonwebservices.com/AmazonSimpleDB/2009-04-15/DeveloperGuide/ConditionalPut.html – Zaffiro