Amazon SQS, Amazon SNS 및 Lambda 사용
알림 사용 설정는 버킷 수준 작업입니다. 알림 구성 정보는 버킷에 연결된 알림 하위 리소스에 저장됩니다. 버킷 알림 구성을 생성하거나 변경한 후 변경 사항이 적용되려면 일반적으로 5분 정도 걸립니다. 알림이 처음으로 사용 설정될 때 s3:TestEvent
가 발생합니다. 다음과 같은 메서드를 사용하여 알림 구성을 관리할 수 있습니다.
-
Amazon S3 콘솔 사용 - 콘솔 UI를 사용하면 코드를 작성할 필요 없이 버킷에서 알림 구성을 설정할 수 있습니다. 자세한 내용은 Amazon S3 콘솔을 사용하여 이벤트 알림 사용 설정 및 구성 단원을 참조하십시오.
-
AWS SDK를 사용한 프로그래밍 방식 - 내부적으로는 콘솔이나 SDK 모두 Amazon S3 REST API를 호출하여 버킷과 연결된 알림 하위 리소스를 관리합니다. AWS SDK를 사용하는 알림 구성의 예는 연습: 알림용 버킷 구성(SNS 주제 또는 SQS 대기열) 섹션을 참조하십시오.
참고
코드에서 직접 Amazon S3 REST API를 호출할 수도 있습니다. 그러나 이렇게 하려면 요청 인증을 위한 코드를 작성해야 하므로 번거로울 수 있습니다.
사용하는 방법에 관계없이 Amazon S3가 버킷과 연결된 알림 하위 리소스에 알림 구성을 XML로 저장합니다. 버킷 하위 리소스에 대한 자세한 내용은 버킷 구성 옵션 단원을 참조하십시오.
참고
삭제된 대상으로 인해 실패한 이벤트 알림이 여러 개 있는 경우 이를 삭제하려고 하면 다음 대상 구성을 검증할 수 없음이라는 메시지가 표시될 수 있습니다. S3 콘솔에서 모든 실패한 알림을 동시에 삭제하여 이 문제를 해결할 수 있습니다.
주제
프로그래밍 방식으로 이벤트 알림 구성
기본적으로 모든 유형의 이벤트에 대해 알림이 사용 중지되어 있습니다. 따라서 처음에 알림 하위 리소스에는 빈 구성이 저장되어 있습니다.
<NotificationConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> </NotificationConfiguration>
특정 유형의 이벤트에 대해 알림을 설정하려면 먼저 Amazon S3이 게시할 이벤트 유형 및 이벤트 게시할 대상을 지정하는 구성으로 이 XML을 교체합니다. 각 대상에 대해 해당 XML 구성을 추가해야 합니다.
SQS 대기열에 이벤트 메시지 게시
SQS 대기열을 하나 이상의 이벤트 유형에 대한 알림 대상으로 설정하려면 QueueConfiguration
을 추가합니다.
<NotificationConfiguration> <QueueConfiguration> <Id>
optional-id-string
</Id> <Queue>sqs-queue-arn
</Queue> <Event>event-type
</Event> <Event>event-type
</Event> ... </QueueConfiguration> ... </NotificationConfiguration>
SNS 주제에 이벤트 메시지 게시
SNS 주제를 특정 이벤트 유형의 알림 대상으로 설정하려면 TopicConfiguration
을 추가합니다.
<NotificationConfiguration> <TopicConfiguration> <Id>
optional-id-string
</Id> <Topic>sns-topic-arn
</Topic> <Event>event-type
</Event> <Event>event-type
</Event> ... </TopicConfiguration> ... </NotificationConfiguration>
AWS Lambda 함수 호출 및 인수로 이벤트 메시지 제공
Lambda 함수를 특정 이벤트 유형에 대한 알림 대상으로 설정하려면 CloudFunctionConfiguration
을 추가합니다.
<NotificationConfiguration> <CloudFunctionConfiguration> <Id>
optional-id-string
</Id> <CloudFunction>cloud-function-arn
</CloudFunction> <Event>event-type
</Event> <Event>event-type
</Event> ... </CloudFunctionConfiguration> ... </NotificationConfiguration>
버킷에 구성된 모든 알림 제거
버킷에 구성된 모든 알림을 제거하려면 알림 하위 리소스에 빈 <NotificationConfiguration/>
요소를 저장합니다.
Amazon S3이 특정 유형의 이벤트를 감지하면 이벤트 정보와 함께 메시지를 게시합니다. 자세한 내용은 이벤트 메시지 구조 단원을 참조하십시오.
이벤트 알림 구성에 대한 자세한 내용은 다음 주제를 참조하십시오.