簡體   English   中英

如何使用 CLI 更新 AWS DynamoDB 中的嵌套項

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

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