将dict添加到项目dynamodb python中

将dict添加到项目dynamodb python中,python,amazon-dynamodb,Python,Amazon Dynamodb,我在dynamodb上有一个项目注册表,其结构如下: { "OwnerID":"12312wqeq", "license":"23423werwegdf", "MaintenanceList":{ "10-11-2018":{ "garage" : "lopcars", "city" : "NY", "country" "USA",

我在dynamodb上有一个项目注册表,其结构如下:

{
"OwnerID":"12312wqeq", 
"license":"23423werwegdf",
"MaintenanceList":{
        "10-11-2018":{
                      "garage" : "lopcars",
                      "city" : "NY",
                      "country" "USA",
                      "location" : "1929-1927 Fulton St Brooklyn"
              }
       }
} 
我需要向列表中添加新的维护,我尝试了以下操作:

response=table.update_item(
    Key={
        "OwnerID":"12312wqeq", 
        "license":"23423werwegdf",'
    }
    ,UpdateExpression = "SET #d1=:dt",
    ExpressionAttributeValues = {
            ':dt' : "12-11-2019":{
                       "garage" : "Crazycars",
                       "city" : "NY",
                       "country" "USA",
                       "location" : "120 E Suffolk Ave Central Islip"
               }
        }
                },
    ExpressionAttributeNames={
            '#d1' : 'MaintenanceList'
                },
    ReturnValues="UPDATED_NEW"
)
但是覆盖属性MaintenanceList,我需要它在更新后看起来像这样:

{
"OwnerID":"12312wqeq", 
"license":"23423werwegdf",
"MaintenanceList":{
        "10-11-2018":{
                      "garage" : "lopcars",
                      "city" : "NY",
                      "country" "USA",
                      "location" : "1929-1927 Fulton St Brooklyn"
              },
        "12-11-2019":{
                       "garage" : "Crazycars",
                       "city" : "NY",
                       "country" "USA",
                       "location" : "120 E Suffolk Ave Central Islip"
               }
       }
}

SET MaintenanceList=:dt
表达式确实替换了名为MaintenanceList的属性的值。如果希望此属性的内容成为哈希表并添加到其中,则需要使用嵌套的atribute路径进行更新,如前所述。例如,执行类似于
SET#d1.#date=:dt
的操作

但是,请注意,将哈希表保留在单个属性的值中是有问题的——它的总大小受到严格限制(不超过400KB),并且每次读取或写入一小部分内容时,您还需要为整个项目大小付费