AWS 迪纳莫德 - 使用蟒蛇进行更新插入

我使用 putitem 将 json 插入到我的 lambda 中的动态模型中。这工作正常,但有时我想做部分更新 - 并且只更新Json中已更改或新的部分。


例如:


  fruits:

   {

      apple:

        {

          color: green

        }

       orange:

       {

         color: orange

       }

    }

}

然后,我可能想要发送如下更新:


  fruits:

   {

      apple:

        {

          color: red

        }

    }

}

理想情况下,这应该只会将 Json 更改为:


  fruits:

   {

      apple:

        {

          color: red

        }

       orange:

       {

         color: orange

       }

    }

}

这是我当前的代码:


data = json.loads(event['body'])

table.put_item(Item=data)

例如,我有一个分区键。my_id


我试过这个:


            table.update_item(

                Key = { 'my_id': my_id },

                UpdateExpression = 'SET fruits= :my_data',

                ExpressionAttributeValues = {

                    ':my_data': data

                }

            ) 

但这将覆盖水果并删除上述示例中的 水果。apple


有没有办法更新json的部分内容,而不必指定要更新的特定属性?


青春有我
浏览 87回答 1
1回答

达令说

某些属性名称由 AWS 保留,下面列出了以下字词:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/ReservedWords.html因此,与其使用 ,不如将其重命名为其他名称,例如:data:itemdata
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python