RenameTable
調用RenameTable介面重新命名表或將表移動到其他命名空間。
注意事項
-
newName和newNamespaceName至少填寫一個。可以只修改表名、只修改命名空間,或同時修改兩者。
-
可通過versionToken參數進行樂觀鎖控制,防止並行作業衝突。
-
新表名在目標命名空間下必須唯一。
許可權說明
|
API |
Action |
說明 |
|
RenameTable |
oss:RenameTable |
重新命名表(同時檢查Table Policy) |
請求文法
PUT /tables/{tableBucketARN}/{namespace}/{name}/rename HTTP/1.1
Content-type: application/json
Host: cn-hangzhou.oss-tables.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
{
"newNamespaceName": "string",
"newName": "string",
"versionToken": "string"
}
請求參數
|
名稱 |
資料類型 |
是否必選 |
樣本值 |
描述 |
|
tableBucketARN |
字串 |
是 |
acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket |
Table Bucket的ARN,格式為acs:osstables:{region}:{uid}:bucket/{bucketName}。位於URI中。 |
|
namespace |
字串 |
是 |
my_namespace |
表所在的命名空間名稱。位於URI中。 |
|
name |
字串 |
是 |
my_table |
表的當前名稱。位於URI中。 |
|
newNamespaceName |
字串 |
否 |
new_namespace |
新的命名空間名稱。與newName至少填寫一個,用於將表移動到其他命名空間。位於請求體中。 |
|
newName |
字串 |
否 |
new_table |
新的表名,1~255個字元,只允許小寫字母、數字和底線。與newNamespaceName至少填寫一個。位於請求體中。 |
|
versionToken |
字串 |
否 |
aaabbb |
版本token(樂觀鎖),用於防止並行作業衝突。位於請求體中。 |
樣本
-
請求樣本
PUT /tables/acs%3Aosstables%3Acn-hangzhou%3A1234567890%3Abucket%2Fmy-table-bucket/my_namespace/my_table/rename HTTP/1.1 Content-type: application/json Host: cn-hangzhou.oss-tables.aliyuncs.com Date: Thu, 10 Apr 2025 08:00:00 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/osstables/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c**** { "newNamespaceName": "new_namespace", "newName": "new_table", "versionToken": "aaabbb" } -
返回樣本
HTTP/1.1 204 No Content Server: AliyunOSS x-oss-request-id: 5C06A3B67B8B5A3DA422**** x-oss-server-time: 3
SDK
RenameTable介面所對應的各語言SDK如下:
命令列工具ossutil
RenameTable介面所對應的ossutil命令,請參見rename-table。
錯誤碼
|
錯誤碼 |
HTTP狀態代碼 |
描述 |
|
BadRequestException |
400 |
請求無效或格式錯誤。 |
|
ForbiddenException |
403 |
調用者無權執行此請求。 |
|
NotFoundException |
404 |
請求的資源不存在。 |
|
ConflictException |
409 |
請求與之前的寫入操作存在衝突。 |