주석 관리
AWS Management Console, AWS CLI 또는 AWS SDK를 사용하여 Amazon S3 객체에 주석을 추가, 검색 및 삭제할 수 있습니다. 다음 섹션에서는 각 작업을 수행하는 방법을 설명합니다.
주석 추가 또는 업데이트
객체에 새 주석을 추가하거나 페이로드를 대체하여 기존 주석을 업데이트할 수 있습니다.
S3 콘솔 사용
객체에 주석을 추가하려면
-
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/
에서 Amazon S3 콘솔을 엽니다. -
버킷(Buckets) 목록에서 객체가 포함된 버킷의 이름을 선택합니다.
-
객체 목록에서 주석을 쓰려는 객체의 이름을 선택합니다.
-
속성 탭을 선택합니다.
-
주석 섹션으로 스크롤하여 주석 추가를 선택합니다.
-
이름에 주석의 이름을 입력합니다(예:
ml.sentiment). 이름은 1~512바이트여야 하며 유니코드 문자, 숫자, 밑줄, 마침표 및 하이픈을 포함할 수 있습니다.aws또는s3로 시작하는 이름을 사용할 수 없습니다. -
파일 선택을 선택하여 주석 콘텐츠를 업로드합니다. 파일은 UTF-8 인코딩 가능해야 하며 최대 1MB 크기여야 합니다.
주석을 완료하려면
-
(선택 사항) 체크섬에서 체크섬 알고리즘을 선택합니다.
-
주석 추가를 선택합니다.
참고
주석이 생성된 후 주석의 콘텐츠를 보려면 주석을 다운로드해야 합니다. S3 콘솔에는 주석 콘텐츠가 인라인으로 표시되지 않습니다.
AWS CLI 사용
객체에 주석을 추가하거나 업데이트하려면 put-object-annotation 명령을 사용합니다. --annotation-payload 파라미터는 파일 경로를 허용합니다.
aws s3api put-object-annotation \ --bucket amzn-s3-demo-bucket \ --key myDocument.pdf \ --annotation-name "ml.sentiment" \ --annotation-payload /tmp/sentiment.json
마지막으로 읽은 이후 객체를 덮어쓰지 않은 경우에만 주석을 작성하려면 객체의 현재 ETag로 --object-if-match 파라미터를 지정합니다.
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\""
AWS SDK 사용
다음 예제에서는 AWS SDK for Python(Boto3)을 사용하여 객체에 주석을 추가합니다.
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') )
주석 검색
특정 주석을 검색하거나 객체의 모든 주석을 나열할 수 있습니다.
S3 콘솔 사용
주석을 검색하려면
-
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/
에서 Amazon S3 콘솔을 엽니다. -
버킷 목록에서 객체가 포함된 버킷의 이름을 선택합니다.
-
객체 목록에서 객체의 이름을 선택합니다.
-
속성 탭을 선택하고 주석 섹션으로 스크롤합니다.
-
주석의 콘텐츠를 보려면 주석 이름 옆의 다운로드를 선택합니다.
AWS CLI 사용
특정 주석을 검색하려면 get-object-annotation 명령을 사용합니다.
aws s3api get-object-annotation \ --bucket amzn-s3-demo-bucket \ --key myDocument.pdf \ --annotation-name "ml.sentiment" \ output.json
객체의 모든 주석을 나열하려면 list-object-annotations 명령을 사용합니다.
aws s3api list-object-annotations \ --bucket amzn-s3-demo-bucket \ --key myDocument.pdf
AWS SDK 사용
다음 예제에서는 AWS SDK for Python(Boto3)을 사용하여 주석을 검색 및 나열합니다.
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")
주석 삭제
객체에서 특정 주석을 삭제할 수 있습니다. 주석 삭제 작업은 영구적이며 취소할 수 없습니다.
S3 콘솔 사용
주석을 삭제하는 방법
-
AWS Management Console에 로그인한 후 https://console.aws.amazon.com/s3/
에서 Amazon S3 콘솔을 엽니다. -
버킷 목록에서 객체가 포함된 버킷의 이름을 선택합니다.
-
객체 목록에서 객체의 이름을 선택합니다.
-
속성 탭을 선택하고 주석 섹션으로 스크롤합니다.
-
삭제할 주석을 선택합니다.
-
삭제를 선택하고 삭제를 확인합니다.
AWS CLI 사용
특정 주석을 삭제하려면 delete-object-annotation 명령을 사용합니다.
aws s3api delete-object-annotation \ --bucket amzn-s3-demo-bucket \ --key myDocument.pdf \ --annotation-name "ml.sentiment"
AWS SDK 사용
다음 예제에서는 AWS SDK for Python(Boto3)을 사용하여 주석을 삭제합니다.
import boto3 s3 = boto3.client('s3') s3.delete_object_annotation( Bucket='amzn-s3-demo-bucket', Key='myDocument.pdf', AnnotationName='ml.sentiment' )