簡體   English   中英

使用Boto3,如果對象上存在某些屬性,請獲取put_item替換DynamoDB中的對象?

[英]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.

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