RenameTable

更新時間:
Copy as MD

調用RenameTable介面重新命名表或將表移動到其他命名空間。

注意事項

  • newNamenewNamespaceName至少填寫一個。可以只修改表名、只修改命名空間,或同時修改兩者。

  • 可通過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 BucketARN,格式為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

請求與之前的寫入操作存在衝突。