重新命名Table

更新時間:
Copy as MD

重新命名指定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 BucketARN,格式為acs:osstables:{region}:{uid}:bucket/{bucket-name}。必選參數。

--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