重命名指定Table Bucket中的表,或将表移动到其他命名空间(Namespace)。
注意事项
--new-name和--new-namespace参数至少需要填写一个。如果仅填写--new-name,则表示在当前命名空间内重命名表;如果仅填写--new-namespace,则表示将表移动到其他命名空间但保持原表名不变;如果同时填写两个参数,则同时重命名并移动命名空间。
--version-token用于乐观锁控制,可通过get-table命令获取当前表的versionToken,在并发操作时防止冲突覆盖。如果不指定,则不进行版本校验。
命令格式
ossutil tables-api rename-table --table-bucket-arn value --namespace value --name value [--new-name value] [--new-namespace value] [--version-token value] [flags]
参数 | 类型 | 说明 |
--name | string | 当前表名称。必选参数。 |
--namespace | string | 表当前所属的命名空间名称。必选参数。 |
--new-name | string | 重命名后的新表名称。与--new-namespace至少填写一个。 |
--new-namespace | string | 目标命名空间名称,用于将表移动到其他命名空间。与--new-name至少填写一个。 |
--table-bucket-arn | string | Table Bucket的ARN,格式为 |
--version-token | string | 版本令牌,用于乐观锁控制。可通过get-table命令获取当前表的versionToken。在并发修改场景下,可防止操作冲突。 |
rename-table命令对应API接口RenameTable。关于API中的具体参数含义,请参见RenameTable。
关于支持的全局命令行选项,请参见ossutil全局选项。
使用示例
在当前命名空间内重命名表,将
old_table重命名为new_table。ossutil tables-api rename-table --table-bucket-arn acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket --namespace my_namespace --name old_table --new-name new_table将表移动到其他命名空间,将
my_namespace下的my_table移动到target_namespace命名空间。ossutil tables-api rename-table --table-bucket-arn acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket --namespace my_namespace --name my_table --new-namespace target_namespace同时重命名表并移动到其他命名空间,使用版本令牌进行乐观锁控制。
ossutil tables-api rename-table --table-bucket-arn acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket --namespace my_namespace --name old_table --new-name new_table --new-namespace target_namespace --version-token abc123def456