Todos os produtos
Search
Central de documentação

Object Storage Service:PutSymlink

Última atualização: Jul 03, 2026

Cria um link simbólico (symlink) que aponta para um objeto de destino no OSS. Use o symlink para acessar o objeto de destino.

Observações de uso

  • O PutSymlink não valida se o objeto de destino existe, se a classe de armazenamento é válida ou se você tem acesso a ele.

  • A verificação da ACL do symlink e do objeto de destino ocorre apenas quando operações como GetObject acessam o objeto de destino.

  • Cabeçalhos de solicitação com o prefixo x-oss-meta- são armazenados como metadados de usuário do symlink. Exemplo: x-oss-meta-location. Você pode especificar vários cabeçalhos de metadados, mas o tamanho total não pode exceder 8 KB.

  • Por padrão, se existir um objeto com o mesmo nome e você tiver permissões de acesso, o novo objeto substituirá o existente. O OSS retorna 200 OK.

Controle de versão

Um symlink aponta para a versão atual do objeto de destino.

Um symlink pode ter várias versões, cada uma apontando para um objeto diferente. O OSS gera IDs de versão e os retorna no cabeçalho de resposta x-oss-version-id.

Permissões

Por padrão, uma conta Alibaba Cloud possui permissões totais. Usuários RAM ou funções RAM vinculados a uma conta Alibaba Cloud não têm nenhuma permissão por padrão. A conta Alibaba Cloud ou o administrador da conta deve conceder as permissões de operação por meio de políticas do RAM ou Bucket Policy.

API

Action

Descrição

PutSymlink

oss:PutObject

Cria um link simbólico para um objeto.

oss:PutObjectTagging

Necessária ao criar um link simbólico para um objeto caso você especifique tags de objeto via x-oss-tagging.

Sintaxe da solicitação

PUT /ObjectName?symlink HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
x-oss-symlink-target: TargetObjectName

Cabeçalhos da solicitação

Cabeçalho

Tipo

Obrigatório

Descrição

x-oss-forbid-overwrite

String

Não

Defina se deve impedir a substituição de um objeto existente com o mesmo nome.

  • Não especificado ou definido como false: o objeto existente é substituído.

  • Definido como true: o objeto existente não pode ser substituído.

Especificar este cabeçalho pode degradar o desempenho de QPS. Se seu QPS ultrapassar 1.000, entre em contato com o suporte técnico.

Nota

Este cabeçalho não tem efeito quando o controle de versão está ativado ou suspenso para o bucket. O PutSymlink substitui o objeto independentemente disso.

x-oss-symlink-target

String

Sim

Objeto de destino para o qual o link simbólico aponta.

Segue as mesmas convenções de nomenclatura dos objetos.

  • TargetObjectName deve estar codificado em URL, assim como ObjectName.

  • O objeto de destino não pode ser um link simbólico.

x-oss-object-acl

String

Não

ACL do objeto. Valor padrão: default.

Valores válidos:

  • default: herda a ACL do bucket.

  • private: somente o proprietário e usuários autorizados podem ler e gravar o objeto.

  • public-read: todos os usuários podem ler o objeto. Apenas o proprietário e usuários autorizados podem gravar. Use com cautela.

  • public-read-write: todos os usuários podem ler e gravar o objeto. Use com cautela.

Para obter mais informações sobre ACLs de objetos, consulte ACLs de objetos.

x-oss-storage-class

String

Não

Classe de armazenamento do objeto.

Se especificada, substitui a classe de armazenamento padrão do bucket. Por exemplo, definir este valor como Standard ao fazer upload para um bucket IA armazena o objeto como Standard.

Valores válidos:

  • Standard

  • IA

  • Archive

Objetos IA e Archive possuem um tamanho mínimo faturável de 64 KB. Evite definir a classe de armazenamento como IA ou Archive para symlinks.

Detalhes das classes de armazenamento: Visão geral.

Para obter mais informações sobre os cabeçalhos de solicitação comuns incluídos em uma solicitação PutSymlink, como Host e Date, consulte Cabeçalhos de solicitação comuns.

Cabeçalhos de resposta

A resposta a uma solicitação PutSymlink contém apenas cabeçalhos de resposta comuns. Para obter mais informações, consulte Cabeçalhos de resposta comuns.

Exemplos

  • Exemplos de solicitações

    PUT /link-to-oss.jpg?symlink HTTP/1.1 
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com 
    Cache-control: no-cache 
    Content-Disposition: attachment;filename=oss_download.jpg 
    Date: Tue, 08 Nov 2016 02:00:25 GMT 
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-disposition,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e 
    x-oss-symlink-target: oss****
    x-oss-storage-class: Standard

    Exemplos de respostas de sucesso

    HTTP/1.1 200 OK
    Server: AliyunOSS
    Date: Tue, 08 Nov 2016 02:00:25 GMT
    Content-Length: 0
    Connection: keep-alive
    x-oss-request-id: 582131B9109F4EE66CDE56A5
    ETag: "0A477B89B4602AA8DECB8E19BFD4****"
  • Exemplos de solicitações para um bucket com controle de versão

    PUT /link-to-oss.jpg?symlink HTTP/1.1 
    Host: oss-example.oss-cn-hangzhou.aliyuncs.com 
    Date: Tue, 09 Apr 2019 06:50:48 GMT 
    Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
    x-oss-symlink-target: oss.jpg

    Exemplos de respostas de sucesso

    HTTP/1.1 200 OK
    Server: AliyunOSS
    Date: Tue, 09 Apr 2019 06:50:48 GMT
    Content-Length: 0
    Connection: keep-alive
    x-oss-version-id: CAEQNRiBgMClj7qD0BYiIDQ5Y2QyMjc3NGZkODRlMTU5M2VkY2U3MWRiNGRh****
    x-oss-request-id: 5CAC40C8B7AEADE01700064B
    ETag: "136A5E127272200EDAB170DD84DE****"

SDKs do OSS

Os seguintes SDKs do OSS oferecem suporte ao PutSymlink:

ossutil

Para obter informações sobre o comando ossutil correspondente à operação PutSymlink, consulte put-symlink.

Códigos de erro

Código de erro

Código de status HTTP

Descrição

InvalidArgument

400

O valor de StorageClass é inválido.

FileAlreadyExists

409

Existe um objeto com o mesmo nome e x-oss-forbid-overwrite está definido como true.

FileImmutable

409

O objeto está protegido por uma política de retenção.