[英]How to update a nested item in AWS DynamoDB with CLI
在我的一個 AWS DynamoDB 表中,我有幾個項目需要在管道中進行更新。 以下 json 顯示了 AWS DynamoDB 表中的一個項目:
{
"DeploymentConfigs": {
"L": [
{
"M": {
"Config": {
"M": {
"Name": {
"S": "batch-komo"
},
"Replicas": {
"N": "3"
}
}
}
}
},
{
"M": {
"Config": {
"M": {
"Name": {
"S": "online-komo"
},
"Replicas": {
"N": "3"
}
}
}
}
}
]
},
"environment": {
"S": "komo-claimcenter"
}
}
如何在DeploymentConfigs
中更新 object ? 主分區鍵是environment
。
例如 object
{
"M": {
"Config": {
"M": {
"Name": {
"S": "batch-komo"
},
"Replicas": {
"N": "3"
}
}
}
}
}
應更新為
{
"M": {
"Config": {
"M": {
"Name": {
"S": "batch-komo"
},
"Replicas": {
"N": "5"
}
}
}
}
}
我不知道在 AWS CLI 中實現。
要更新項目內的嵌套部分,請使用帶有屬性路徑的UpdateExpression
。 例如, SET DeploymentConfigs[0].Config.Replicas =:val
。
但是,問題在於您的頂級屬性DeploymentConfigs
是一個列表,因此要修改其中的一項,您需要在索引中知道(在此示例中為 0)。 如果你不知道你有問題的索引 - 沒有辦法“修改具有 name='batch-komo' 的列表項”或類似的東西......如果你需要做這樣的事情,你必須讀取整個頂級屬性,在客戶端對其進行修改,然后將其寫回(或者只是小的更改,現在您知道索引了)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.