View a markdown version of this page

Administración de anotaciones - Amazon Simple Storage Service

Administración de anotaciones

Puede agregar, recuperar y eliminar anotaciones en los objetos de Amazon S3 mediante la Consola de administración de AWS, la AWS CLI o los AWS SDK. En las siguientes secciones, se describe cómo realizar cada operación.

Agregación o actualización de una anotación

Puede agregar una nueva anotación a un objeto o actualizar una anotación existente sustituyendo su carga útil.

Uso de la consola de S3

Agregación de una anotación a un objeto
  1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En la lista Buckets (Buckets), elija el nombre del bucket que contiene el objeto.

  3. En la lista Objetos, elija el nombre del objeto que desea anotar.

  4. Elija la pestaña Propiedades.

  5. Desplácese hasta la sección Anotaciones y elija Agregar anotación.

  6. En Nombre, ingrese un nombre para la anotación (por ejemplo, ml.sentiment). Los nombres deben tener entre 1 y 512 bytes y pueden contener letras, dígitos, guiones bajos, puntos y guiones Unicode. Los nombres no pueden comenzar por aws ni s3.

  7. Elija Elegir archivo para cargar el contenido de la anotación. El archivo debe ser codificable en UTF-8 y tener un tamaño máximo de 1 MB.

Completar la anotación
  1. (Opcional) En Sumas de comprobación, elija un algoritmo de suma de comprobación.

  2. Elija Agregar anotación.

nota

Para ver el contenido de una anotación una vez creada, debe descargarla. La consola de S3 no muestra el contenido de las anotaciones insertado.

Uso de AWS CLI

Para agregar o actualizar una anotación en un objeto, utilice el comando put-object-annotation. El parámetro --annotation-payload acepta una ruta de archivo.

aws s3api put-object-annotation \ --bucket amzn-s3-demo-bucket \ --key myDocument.pdf \ --annotation-name "ml.sentiment" \ --annotation-payload /tmp/sentiment.json

Para escribir la anotación solo si el objeto no se ha sobrescrito desde la última vez que lo leyó, especifique el parámetro --object-if-match con la ETag actual del objeto.

aws s3api put-object-annotation \ --bucket amzn-s3-demo-bucket \ --key myDocument.pdf \ --annotation-name "ml.sentiment" \ --annotation-payload /tmp/sentiment.json \ --object-if-match "\"d6eb32081c822ed572b70567826d9d9d\""

Uso de los AWS SDK

En los siguientes ejemplos se utiliza el AWS SDK para Python (Boto3) a fin de agregar una anotación a un objeto.

import boto3 import json s3 = boto3.client('s3') s3.put_object_annotation( Bucket='amzn-s3-demo-bucket', Key='myDocument.pdf', AnnotationName='ml.sentiment', AnnotationPayload=json.dumps({ 'score': 0.95, 'label': 'positive', 'model': 'sentiment-v3' }).encode('utf-8') )

Recuperación de anotaciones

Puede recuperar una anotación específica o mostrar todas las anotaciones en un objeto.

Uso de la consola de S3

Recuperación de una anotación
  1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En la lista Buckets (Buckets), elija el nombre del bucket que contiene el objeto.

  3. En la lista Objects (Objetos), elija el nombre del objeto.

  4. Elija la pestaña Propiedades y desplácese hasta la sección Anotaciones.

  5. Para ver el contenido de la anotación, elija Descargar junto al nombre de la anotación.

Uso de AWS CLI

Para recuperar una anotación específica, utilice el comando get-object-annotation.

aws s3api get-object-annotation \ --bucket amzn-s3-demo-bucket \ --key myDocument.pdf \ --annotation-name "ml.sentiment" \ output.json

Para mostrar todas las anotaciones de un objeto, utilice el comando list-object-annotations.

aws s3api list-object-annotations \ --bucket amzn-s3-demo-bucket \ --key myDocument.pdf

Uso de los AWS SDK

En el ejemplo siguiente, se utiliza el AWS SDK para Python (Boto3) para recuperar y mostrar anotaciones.

import boto3 import json s3 = boto3.client('s3') # Retrieve a specific annotation response = s3.get_object_annotation( Bucket='amzn-s3-demo-bucket', Key='myDocument.pdf', AnnotationName='ml.sentiment' ) content = json.loads(response['AnnotationPayload'].read()) # List all annotations on an object response = s3.list_object_annotations( Bucket='amzn-s3-demo-bucket', Key='myDocument.pdf' ) for annotation in response['Annotations']: print(f"{annotation['AnnotationName']} - {annotation['Size']} bytes")

Eliminación de anotaciones

Puede eliminar una anotación específica de un objeto. La eliminación de anotaciones es permanente y no se puede deshacer.

Uso de la consola de S3

Eliminación de una anotación
  1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon S3 en https://console.aws.amazon.com/s3/.

  2. En la lista Buckets (Buckets), elija el nombre del bucket que contiene el objeto.

  3. En la lista Objects (Objetos), elija el nombre del objeto.

  4. Elija la pestaña Propiedades y desplácese hasta la sección Anotaciones.

  5. Seleccione la anotación que desea eliminar.

  6. Elija Eliminar y, a continuación, confirme la eliminación.

Uso de AWS CLI

Para eliminar una anotación específica, utilice el comando delete-object-annotation.

aws s3api delete-object-annotation \ --bucket amzn-s3-demo-bucket \ --key myDocument.pdf \ --annotation-name "ml.sentiment"

Uso de los AWS SDK

En el ejemplo siguiente, se utiliza el AWS SDK para Python (Boto3) para eliminar una anotación.

import boto3 s3 = boto3.client('s3') s3.delete_object_annotation( Bucket='amzn-s3-demo-bucket', Key='myDocument.pdf', AnnotationName='ml.sentiment' )