Todos os produtos
Search
Central de documentação

Object Storage Service:RenameTable

Última atualização: Nov 03, 2026

Renomeia uma tabela ou a move para um namespace diferente.

Notas de uso

Nota

Esta API suporta apenas tabelas Iceberg, não tabelas Lance. Para renomear tabelas Lance, use a API REST de Namespace do Lance ou o ecossistema Lance (Spark, Trino e outros mecanismos de computação).

  • Especifique pelo menos um entre newName e newNamespaceName. Você pode alterar o nome da tabela, o namespace ou ambos.

  • Use o parâmetro versionToken para bloqueio otimista e evitar conflitos de operações simultâneas.

  • O novo nome da tabela deve ser exclusivo no namespace de destino.

Permissões

API

Ação

Descrição

RenameTable

oss:RenameTable

Renomeia uma tabela e verifica a política da tabela.

Sintaxe da solicitação

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

Parâmetros da solicitação

Parâmetro

Tipo

Obrigatório

Exemplo

Descrição

tableBucketARN

String

Sim

acs:osstables:cn-hangzhou:1234567890:bucket/my-table-bucket

ARN do table bucket no formato acs:osstables:{region}:{uid}:bucket/{bucketName}. Especificado no URI.

namespace

String

Sim

my_namespace

Namespace que contém a tabela. Especificado no URI.

name

String

Sim

my_table

Nome atual da tabela. Especificado no URI.

newNamespaceName

String

Não

new_namespace

Namespace de destino da tabela. Especifique pelo menos um entre newNamespaceName ou newName. Especificado no corpo da solicitação.

newName

String

Não

new_table

Novo nome da tabela. Deve ter de 1 a 255 caracteres e conter apenas letras minúsculas, dígitos e sublinhados (_). Especifique pelo menos um entre newName ou newNamespaceName. Especificado no corpo da solicitação.

versionToken

String

Não

aaabbb

Token de versão para bloqueio otimista, usado para evitar conflitos de operações simultâneas. Especificado no corpo da solicitação.

Exemplos

  • Exemplo de solicitação

    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"
    }
  • Exemplo de resposta

    HTTP/1.1 204 No Content
    Server: AliyunOSS
    x-oss-request-id: 5C06A3B67B8B5A3DA422****
    x-oss-server-time: 3

SDKs

Estes SDKs suportam RenameTable:

ossutil CLI

O comando ossutil para RenameTable é rename-table.

Códigos de erro

Código de erro

Código de status HTTP

Descrição

BadRequestException

400

Solicitação inválida ou malformada.

ForbiddenException

403

Permissões insuficientes para esta operação.

NotFoundException

404

Recurso não encontrado.

ConflictException

409

Conflito com uma operação de gravação anterior.