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
-
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/
. -
En la lista Buckets (Buckets), elija el nombre del bucket que contiene el objeto.
-
En la lista Objetos, elija el nombre del objeto que desea anotar.
-
Elija la pestaña Propiedades.
-
Desplácese hasta la sección Anotaciones y elija Agregar anotación.
-
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 porawsnis3. -
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
-
(Opcional) En Sumas de comprobación, elija un algoritmo de suma de comprobación.
-
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
-
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/
. -
En la lista Buckets (Buckets), elija el nombre del bucket que contiene el objeto.
-
En la lista Objects (Objetos), elija el nombre del objeto.
-
Elija la pestaña Propiedades y desplácese hasta la sección Anotaciones.
-
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
-
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/
. -
En la lista Buckets (Buckets), elija el nombre del bucket que contiene el objeto.
-
En la lista Objects (Objetos), elija el nombre del objeto.
-
Elija la pestaña Propiedades y desplácese hasta la sección Anotaciones.
-
Seleccione la anotación que desea eliminar.
-
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' )