簡體   English   中英

Python:Boto3,為delete_item 操作指定屬性名稱

[英]Python: Boto3, specifying attribute names for delete_item operation

以下代碼給了我一個錯誤:

dynamo_table.delete_item(Key={'segmentUuid': segment_id, 'value': value})

錯誤:

botocore.exceptions.ClientError: 調用 DeleteItem 操作時發生錯誤 (ValidationException):提供的關鍵元素與架構不匹配

經過一番搜索,我發現問題是由於排序鍵列被稱為value ,這是 Dynamo 中的保留關鍵字。 不幸的是,boto3 似乎不允許我指定使用 ExpressionAttributeName 參數,因為它不支持delete_item操作中的 Key。 有人可以建議我可以做些什么來解決這個問題嗎?

作為保留字的value確實令人困惑,但該錯誤應該是

"Attribute name is a reserved keyword; reserved keyword: value"

在這種情況下。

當您嘗試按非哈希/排序鍵的字段匹配項目時,會發生錯誤。 所以為了讓這個特定的delete_item工作,你需要一個GSI

segmentUuid → 哈希鍵

值 → 排序鍵

暫無
暫無

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

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