如何使用AWS CLI在dynamoDB中更改全局二级索引的键名

问题描述

我需要更新表的全局二级索引的键名。我无法从dynamoDB的文档中找到实现此目标的方法

下面是我在创建表时用来创建GSI的CLI命令:

{
   "TableName":"initiatives","KeySchema":[
      {
         "AttributeName":"id","KeyType":"HASH"
      },{
         "AttributeName":"companyID","KeyType":"RANGE"
      }
   ],"AttributeDeFinitions":[
      {
         "AttributeName":"id","AttributeType":"S"
      },{
         "AttributeName":"category",{
         "AttributeName":"statusChangedAt","AttributeType":"N"
      }
   ],"ProvisionedThroughput":{
      "ReadCapacityUnits":1,"WriteCapacityUnits":1
   },"GlobalSecondaryIndexes":[
      {
         "IndexName":"allInitiativesGSI","KeySchema":[
            {
               "AttributeName":"category","KeyType":"HASH"
            },{
               "AttributeName":"companyID","KeyType":"RANGE"
            }
         ],"Projection":{
            "ProjectionType":"INCLUDE","NonKeyAttributes":[
               "status",//<---- I need to changed this to trackingStatus
               "initiativeId","indicators","createdAt","goals","targets","note","updatedAt","progress","objective","description","author","title"
            ]
         },"ProvisionedThroughput":{
            "ReadCapacityUnits":1,"WriteCapacityUnits":1
         }
      },{
         "IndexName":"lateInitiativesGSI",{
               "AttributeName":"id","NonKeyAttributes":[
               "statusChangedAt","trackingStatus","initiativeId","WriteCapacityUnits":1
         }
      }
   ]
}

我需要将status GSI的allInitiativesGSI密钥更改为trackingStatus。医生说我需要使用update-table--global-secondary-index-updates命令来更新GSI。但这并没有说明如何更改键名。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...