簡體   English   中英

dynamodb 條件更新項(客戶端)

[英]dynamodb conditional update item (client)

我指的是更新項目的這個樣本: 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

我正在嘗試實現相同但使用 dynamodb 客戶端。

有沒有辦法使用 dynamodb 客戶端添加檢查值是否可用?

您可以檢查 key 屬性是否已經存在,在請求中傳遞ConditionExpression參數(基於您所指的答案中的響應):

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

僅當ConditionExpression返回True時才會執行您的寫入操作。 attribute_not_exists是一個 DynamoDb function,當指定的屬性不存在時返回True 還有一個attribute_exists function 來達到相反的結果。 更多關於官方文檔中的 DDB 條件函數

此外,您可以在此處查看文檔中的條件寫入 Python 示例

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM