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 |
|
Cria um link simbólico para um objeto. |
|
|
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.
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.
|
|
x-oss-object-acl |
String |
Não |
ACL do objeto. Valor padrão: default. Valores válidos:
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:
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: StandardExemplos 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.jpgExemplos 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. |