Agrega etiquetas a un objeto o actualiza las etiquetas existentes. Cada etiqueta que se agrega a un objeto es un par clave-valor.
Notas de uso
Puede agregar hasta 10 etiquetas a un objeto. Las claves de las etiquetas asignadas a un mismo objeto deben ser únicas.
La clave de una etiqueta admite hasta 128 caracteres, mientras que el valor permite un máximo de 256.
Las claves y los valores de las etiquetas distinguen entre mayúsculas y minúsculas.
-
La clave y el valor de una etiqueta pueden contener letras, dígitos, espacios y los siguientes caracteres especiales:
+ - = . _ : /
Si las etiquetas del encabezado HTTP contienen estos caracteres, aplique codificación URL a las claves y a los valores.
Modificar las etiquetas de un objeto no actualiza el parámetro Last-Modified de dicho objeto.
Para obtener más información sobre las etiquetas de objetos, consulte Configure object tagging.
Control de versiones
De forma predeterminada, cuando llama a PutObjectTagging para agregar etiquetas a un objeto o actualizar su configuración, la operación se aplica a la versión actual. Si especifica el parámetro versionId en la solicitud, las etiquetas se agregan o actualizan en la versión indicada del objeto. Cuando la versión especificada corresponde a un marcador de eliminación, OSS devuelve 404 Not Found.
Permisos
Una cuenta de Alibaba Cloud tiene permisos completos de manera predeterminada. Los usuarios y roles de RAM asociados a dicha cuenta carecen de cualquier permiso inicial. Por lo tanto, la cuenta o su administrador deben otorgar los permisos de operación mediante RAM policies o Bucket Policy.
|
API |
Action |
Descripción |
|
PutObjectTagging |
oss:PutObjectTagging |
Agrega etiquetas a un objeto o modifica las existentes. |
|
oss:PutObjectVersionTagging |
Agrega etiquetas a una versión específica de un objeto o modifica las de dicha versión. |
Sintaxis de la solicitud
PUT /objectname?tagging
Content-Length: 114
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: Mon, 18 Mar 2019 08:25:17 GMT
Authorization: SignatureValue
<Tagging>
<TagSet>
<Tag>
<Key>Key</Key>
<Value>Value</Value>
</Tag>
</TagSet>
</Tagging>
Elementos de la solicitud
|
Elemento |
Tipo |
Obligatorio |
Ejemplo |
Descripción |
|
Tagging |
Contenedor |
Sí |
N/D |
Contenedor de nivel superior. Nodos secundarios: TagSet |
|
TagSet |
Contenedor |
Sí |
N/D |
Conjunto de etiquetas. Nodo primario: Tagging Nodos secundarios: Tag |
|
Tag |
Contenedor |
No |
N/D |
Etiqueta individual. Nodo primario: TagSet Nodos secundarios: Key y Value |
|
Key |
Cadena |
No |
a |
Clave de la etiqueta. Nodo primario: Tag Nodos secundarios: ninguno |
|
Value |
Cadena |
No |
1 |
Valor de la etiqueta. Nodo primario: Tag Nodos secundarios: ninguno |
Esta operación también utiliza encabezados de solicitud comunes. Para obtener más información, consulte Common HTTP headers.
Ejemplos
-
Agregar etiquetas a un objeto en un bucket sin control de versiones
En este ejemplo, un objeto llamado objectname se almacena en un bucket sin control de versiones denominado bucketname. Se envía una solicitud PutObjectTagging para agregar las etiquetas {a:1} y {b:2} al objeto objectname. Una vez aplicadas ambas etiquetas, el servidor devuelve 200 (OK).
Solicitudes de ejemplo
PUT /objectname?tagging Content-Length: 114 Host: BucketName.oss-cn-hangzhou.aliyuncs.com Date: Mon, 18 Mar 2019 08:25:17 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e <Tagging> <TagSet> <Tag> <Key>a</Key> <Value>1</Value> </Tag> <Tag> <Key>b</Key> <Value>2</Value> </Tag> </TagSet> </Tagging>Respuestas de ejemplo
200 (OK) content-length: 0 server: AliyunOSS connection: keep-alive x-oss-request-id: 5C8F55ED461FB4A64C00**** date: Mon, 18 Mar 2019 08:25:17 GMT -
Agregar etiquetas a un objeto en un bucket con control de versiones habilitado
Aquí, un objeto llamado objectname reside en un bucket con control de versiones denominado bucketname. Se envía una solicitud PutObjectTagging para agregar la etiqueta {age:18} a una versión específica de objectname. Al completar la operación, se devuelve 200 (OK).
Solicitudes de ejemplo
PUT /objectname?tagging&versionId=CAEQExiBgID.jImWlxciIDQ2ZjgwODIyNDk5MTRhNzBiYmQwYTZkMTYzZjM0**** Content-Length: 90 Host: BucketName.oss-cn-hangzhou.aliyuncs.com Date: Wed, 24 Jun 2020 08:58:15 GMT Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e <Tagging> <TagSet> <Tag> <Key>age</Key> <Value>18</Value> </Tag> </TagSet> </Tagging>Respuestas de ejemplo
200 (OK) content-length: 0 server: AliyunOSS connection: keep-alive x-oss-request-id: 5EF315A7FBD3EC3232B4**** date: Wed, 24 Jun 2020 08:58:15 GMT x-oss-version-id: CAEQExiBgID.jImWlxciIDQ2ZjgwODIyNDk5MTRhNzBiYmQwYTZkMTYzZjM0****
SDK de OSS
Utilice los SDK de OSS de los siguientes lenguajes de programación para llamar a la operación PutObjectTagging:
ossutil
Para conocer el comando de ossutil equivalente a la operación PutObjectTagging, consulte put-object-tagging.
Códigos de error
|
Código de error |
Código de estado HTTP |
Descripción |
|
FileAlreadyExists |
409 |
El objeto cuyas etiquetas intenta configurar o actualizar es un directorio dentro de un bucket que tiene habilitada la función de espacio de nombres jerárquico. |