[英]Using Boto3, get put_item to replace an object in DynamoDB if certain attributes exist on the object?
如果某些屬性(其中某些是DynamoDB表的主鍵,而某些不是)與我要插入的新對象匹配,則我在讓Boto3的put_item
替換put_item
中的對象時遇到問題。表。
例如,如果其中包含DynamoDB表:
user (Partition Key) | ts (Sort Key) | height | weight
__________________________________________________________________________________
'fred' 01-01-2017 5'10'' 190
'george' 01-02-2017 5'08'' 200
並且我正在嘗試向此表添加新行:
'fred' 01-01-2018 5'10'' 200
根據用戶fred
和身高5'10''
匹配表中已有另一個用戶的情況,我想用新條目代替舊條目。 Boto3和AWS put_item的文檔尚不清楚-我該怎么做?
供參考,這是我目前擁有的:
tracking_result = tracking_dbs[drivetype].put_item(
Item=track,
# insert fields to remove old entry that matches
# up with certain attributes from new entry here
)
僅當新條目的分區鍵和排序鍵與現有條目的分區鍵和排序鍵匹配時,DynamoDB中已經存在的條目才會被新條目替換。 否則,將創建一個新條目。
在您的情況下,您必須刪除現有條目(通過掃描而不是查詢來獲取現有條目,因為查詢需要將分區鍵和排序鍵都作為輸入參數,然后執行刪除操作),然后創建新條目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.