डायनामोडब सशर्त अद्यतन आइटम (ग्राहक)

Dec 09 2020

मैं अद्यतन आइटम के इस नमूने की बात कर रहा हूँ: https://stackoverflow.com/a/62030403/13967222।


    for key, val in body.items():
        update_expression.append(f" {key} = :{key},")
        update_values[f":{key}"] = val

    return "".join(update_expression)[:-1], update_values

मैं उसी को प्राप्त करने की कोशिश कर रहा हूं लेकिन डायनामोडब क्लाइंट का उपयोग कर रहा हूं।

अगर डायोडोडब क्लाइंट का उपयोग करके मूल्य उपलब्ध है तो क्या मैं जांच जोड़ सकता हूं?

जवाब

1 FireNero Dec 09 2020 at 17:58

आप जांच कर सकते हैं कि कुंजी विशेषता पहले से ही ConditionExpressionअनुरोध में पासिंग पैरामीटर मौजूद है या नहीं (उत्तर में आपके द्वारा दिए जा रहे उत्तर में प्रतिक्रिया के आधार पर):

table.update_item(
        Key={'uuid':str(uuid)},
        UpdateExpression=a,
        ExpressionAttributeValues=dict(v),
        ConditionExpression="attribute_not_exists(uuid)"
        )

ConditionExpressionरिटर्न लिखने पर ही आपका अमल होगा Trueattribute_not_existsडायनामोडब फ़ंक्शन है जो Trueनिर्दिष्ट विशेषता मौजूद नहीं होने पर वापस लौटता है। attribute_existsविपरीत परिणाम प्राप्त करने के लिए एक फ़ंक्शन भी है । आधिकारिक प्रलेखन में DDB स्थिति कार्यों के बारे में अधिक जानकारी

इसके अलावा, आप यहां डॉक्स में सशर्त लिखते हुए पायथन उदाहरण की जांच कर सकते हैं