2016-10-20 7 views
5

में DynamoDBMapper का उपयोग कर डायनेमोडीबी आइटम अपडेट करें DynamoDBMapper का उपयोग करके डायनेमोडबी आइटम को मैं कैसे अपडेट कर सकता हूं?जावा

डायनेमोडीबी तालिका का उपयोग करके मेरे पास कई प्रक्रियाएं हैं, इस प्रकार, + सहेजें + असंगतता पैदा करेगा। मुझे DynamoDBMapper का उपयोग करके आइटम को अपडेट करने की विधि नहीं मिल रही है।

उत्तर

10

save() विधि प्रदर्शन करेंगे putItem या updateItemSaveBehavior में सेट मूल्य के आधार पर। कृपया नीचे दिए गए विवरण देखें। इस कारण से DynamoDBMapper क्लास में कोई अपडेट विधि नहीं है। हालांकि, एक अलग हटाने विधि उपलब्ध है।

डायनेमो डीबी में एक आइटम बचाता है।

अद्यतन (डिफ़ॉल्ट):: इस्तेमाल किया सेवा विधि या तो AmazonDynamoDB.putItem (PutItemRequest) या AmazonDynamoDB.updateItem (UpdateItemRequest) का उपयोग करने DynamoDBMapperConfig.getSaveBehavior() मान से निर्धारित होता है, अपडेट नहीं होगा सहेजे गए ऑपरेशन पर अनमोल किए गए विशेषताओं को प्रभावित करें और मॉडलिंग विशेषता के लिए शून्य मान डायनेमो डीबी में उस आइटम से हटा देगा। अद्यतन इटैम अनुरोध की सीमा के कारण, अद्यतन के कार्यान्वयन को एक पुट इटिम अनुरोध भेजा जाएगा जब एक कुंजी-केवल ऑब्जेक्ट सहेजा जा रहा है, और यह दी गई कुंजी (ओं) पहले से मौजूद तालिका में मौजूद है, तो यह एक और अद्यतन भेज देगा।

UPDATE_SKIP_NULL_ATTRIBUTES: को छोड़कर यह ध्यान नहीं देता कि इसी प्रकार के अद्यतन करने के लिए किसी भी शून्य मान विशेषता (विशेषताओं) और उन्हें DynamoDB में है कि आइटम से नहीं निकाला जाएगा। यह केवल एक एकल अपडेट Item अनुरोध भेजने की गारंटी देता है, इससे कोई फर्क नहीं पड़ता कि ऑब्जेक्ट केवल कुंजी है या नहीं।

पीटना: पीटना स्पष्ट और सभी विशेषताओं का स्थान ले लेगा, unmodeled हैं, (हटा सकते हैं और पुन: बनाने) को बचाने पर शामिल थे। संस्करणित फ़ील्ड बाधाएं भी को अवहेलना कर दी जाएगी। SaveExpression पैरामीटर में निर्दिष्ट कोई भी विकल्प वर्जन किए गए विशेषताओं के कारण किसी भी बाधाओं पर ओवरलैड होगा।

उदाहरण उपयोग: -

DynamoDBMapperConfig dynamoDBMapperConfig = new DynamoDBMapperConfig(SaveBehavior.UPDATE); 
dynamoDBMapper.save(yourObject, dynamoDBMapperConfig); 
+1

इस उत्तर के रूप में चिह्नित किया जाना चाहिए। – WMios

+0

मैं दूसरा हूं। –

0

अपने डाइनेमो db लिखने के संचालन में निरंतरता है करने के लिए आप आशावादी लॉकिंग और सशर्त लिखते हैं के बीच एक विकल्प का चयन करना होगा।

यहां एडब्लूएस दस्तावेज के लिंक हैं जो आपकी मदद कर सकते हैं;

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBMapper.OptimisticLocking.html

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Expressions.SpecifyingConditions.html