구성 Amazon S3 이벤트 알림 - Amazon Simple Storage Service

문서의 영문과 번역 사이에 충돌이 있는 경우에는 영문 버전을 따릅니다. 번역 버전은 기계 번역을 사용하여 제공합니다.

구성 Amazon S3 이벤트 알림

The Amazon S3 알림 기능을 사용하면 버킷에서 특정 이벤트가 발생할 때 알림을 받을 수 있습니다. 알림을 활성화하려면 먼저 원하는 이벤트를 식별하는 알림 구성을 추가해야 합니다. Amazon S3 게시할 수 있도록 Amazon S3 알림을 보냅니다. 이 구성을 알림 버킷과 관련된 하위 리소스입니다. 자세한 내용은 버킷 구성 옵션. Amazon S3 은(는) 이 하위 리소스를 관리할 수 있는 API를 제공합니다.

중요

Amazon S3 이벤트 알림은 한 번 이상 전송되도록 설계되었습니다. 이벤트 알림은 일반적으로 몇 초 안에 전송되지만 1분 이상 소요되는 경우도 있습니다.

버전이 지정되지 않은 단일 객체에 대해 동시에 두 번의 쓰기가 수행되는 경우 이벤트 알림이 한 번만 전송될 수 있습니다. 쓰기에 성공할 때마다 이벤트 알림이 전송되도록 하려면 버킷에서 버전 관리를 활성화합니다. 버전 관리를 사용하면 쓰기가 성공적으로 수행될 때마다 객체의 새 버전이 생성되고 이벤트 알림도 전송됩니다.

알림 개요

현재 Amazon S3는 다음 이벤트에 대한 알림을 게시할 수 있습니다.

  • 새 개체 생성 이벤트 — Amazon S3 객체 생성을 위한 여러 개의 API 지원. 특정 API만 사용하는 경우 알림을 요청할 수 있습니다(예: s3:ObjectCreated:Put와일드카드를 사용할 수 있습니다(예: s3:ObjectCreated:*)에 사용된 API와 상관없이 개체가 생성될 때 알림을 요청합니다.

  • 개체 제거 이벤트 — Amazon S3 에서는 버전 및 비버전 개체의 삭제를 지원합니다. 개체 버전 할당에 대한 자세한 내용은 다음을 참조하십시오. 객체 버전 관리 and 버전 관리 사용.

    개체가 삭제되거나 버전 개체가 영구적으로 삭제되면 알림을 요청할 수 있습니다. s3:ObjectRemoved:Delete 이벤트 유형. 또는 다음을 사용하여 버전 삭제된 개체에 대한 삭제 마커가 생성될 때 알림을 요청할 수 있습니다. s3:ObjectRemoved:DeleteMarkerCreated. 와일드카드를 사용할 수도 있습니다. s3:ObjectRemoved:* 개체가 삭제될 때마다 알림을 요청할 수 있습니다. 버전 지정된 객체 삭제에 대한 자세한 내용은 를 참조하십시오.객체 버전 삭제.

  • 개체 이벤트 복원 — Amazon S3 은(는) S3 Glacier 스토리지 클래스. 귀하는 s3:ObjectRestore:Completed. 사용 s3:ObjectRestore:Post 복구 시작 알림 요청

  • RRS(Redundancy Storage) 객체 손실 이벤트 감소 — Amazon S3 RRS 스토리지 클래스의 개체가 손실되었음을 감지할 때 알림 메시지를 보냅니다.

  • 복제 이벤트 — Amazon S3 복제 구성에 대한 이벤트 알림을 보냅니다. S3 Replication Time Control (S3 RTC) 활성화되었습니다. 객체 복제가 실패할 경우, 객체가 15분 임계값을 초과할 경우, 객체가 15분 임계값 이후에 복제될 경우, 객체가 더 이상 복제 지표에 의해 추적되지 않을 경우 이러한 알림을 보냅니다. 객체가 대상 리전으로 복제될 때 두 번째 이벤트를 게시합니다.

지원되는 이벤트 유형의 전체 목록은 단원을 참조하십시오.지원되는 이벤트 유형.

Amazon S3는 다음과 같은 이벤트 게시 대상을 지원합니다.

  • Amazon Simple Notification Service (Amazon SNStopic

    Amazon SNS는 유연하며 완벽하게 관리되는 푸시 메시징 서비스입니다. 이 서비스를 사용하여 모바일 디바이스 또는 분산 서비스로 메시지를 푸시할 수 있습니다. SNS를 사용해 메시지를 한 번 게시하고 한 번 이상 전송할 수 있습니다. SNS에 대한 자세한 내용은 아마존 SNS 제품 세부 정보 페이지.

  • Amazon Simple Queue Service (Amazon SQS대기열

    Amazon SQS는 확장 가능하며 완벽하게 관리되는 메시지 대기열 서비스입니다. SQS를 사용하면 다른 서비스를 항상 가용 상태로 유지하지 않고도 모든 데이터 볼륨을 전송할 수 있습니다. 알림 구성에서 Amazon S3가 SQS 대기열에 이벤트를 게시하도록 요청할 수 있습니다.

    현재 스탠다드 SQS 대기열은 Amazon S3 이벤트 알림 대상으로만 허용되지만 FIFO SQS 대기열은 허용되지 않습니다. 자세한 정보는 Amazon SQS을 참조하십시오. Amazon SQS 제품 세부 정보 페이지.

  • AWS Lambda

    AWS Lambda는 간편하게 새 정보에 신속하게 응답하는 애플리케이션을 구축할 수 있는 컴퓨팅 서비스입니다. AWS Lambda는 이미지 업로드, 앱에서의 작업, 웹 사이트 클릭 또는 연결된 디바이스의 출력과 같은 이벤트에 대한 응답으로 사용자가 작성한 코드를 실행합니다.

    사용할 수 있습니다. AWS Lambda 기타 확장으로 AWS 사용자 정의 논리 또는 사용자 정의 백엔드를 생성하는 AWS 확장성, 성능 및 보안. With AWS Lambda, 필요에 따라서만 실행되는 개별 이벤트 중심 애플리케이션을 쉽게 생성할 수 있으며, 하루에 수천 개 요청에서 수천 개로 자동으로 확장할 수 있습니다.

    AWS Lambda는 Amazon S3 버킷 이벤트에 대한 응답으로 맞춤형 로직을 실행할 수 있습니다. 사용자 지정 코드를 업로드합니다. AWS Lambda 무엇이라 불리는 Lambda 기능. 언제 Amazon S3 특정 유형(예: 개체가 만든 이벤트)의 이벤트를 감지하고 이벤트를 게시할 수 AWS Lambda 귀하의 기능을 Lambda. 이에 대응하여 AWS Lambda 기능을 실행합니다.

주의

알림이 알림을 트리거하는 버킷에 기록되면 실행 루프가 발생할 수 있습니다. 예를 들어, 객체가 업로드될 때마다 버킷이 Lambda 함수를 트리거하고 그 함수가 객체를 버킷에 업로드하는 경우 함수는 간접적으로 자신을 트리거합니다 이렇게 되지 않도록 하려면 두 개의 버킷을 사용하거나, 수신 객체에 사용되는 접두사에만 적용되도록 트리거를 구성합니다.

AWS Lambda를 이용한 Amazon S3 알림에 대한 자세한 내용과 사용 예는 AWS Lambda Developer GuideAmazon S3와 함께 AWS Lambda 사용을 참조하십시오.

이벤트 알림을 활성화하는 방법

알림을 활성화하는 것은 버킷 레벨 작업입니다. 즉, 알림 버킷과 관련된 하위 자원. 다음과 같은 메서드를 사용하여 알림 구성을 관리할 수 있습니다.

  • 사용 Amazon S3 콘솔

    콘솔 UI를 사용하면 코드를 작성하지 않고도 버킷에 알림 구성을 설정할 수 있습니다. 자세한 내용은 S3 버킷에 대한 이벤트 알림을 활성화하고 구성하는 방법은 무엇입니까? in the Amazon Simple Storage Service 콘솔 사용 설명서.

  • 프로그램을 사용하여 AWS 스펙

    참고

    필요한 경우 코드에서 직접 Amazon S3 REST API를 호출하게 할 수도 있습니다. 하지만 이 방법은 요청 인증을 위한 코드를 작성해야 하므로 번거로울 수 있습니다.

    내부적으로 콘솔과 sdk 모두 Amazon S3 관리할 REST API 알림 버킷과 관련된 하위 리소스. SDK 예제를 사용한 알림 구성에 대해서는 AWS 단원을 참조하십시오.안내 알림을 위한 버킷 구성(SNS 항목 또는 SQS 큐).

    사용하는 방법과 상관없이 Amazon S3 통지 구성을 XML로 저장 알림 버킷과 관련된 하위 자원. 버킷 하위 리소스에 대한 자세한 내용은 단원을 참조하십시오.버킷 구성 옵션.

    기본적으로 모든 유형의 이벤트에 대해 알림이 비활성화되어 있습니다. 따라서, 알림 하위 리소스는 빈 구성을 저장합니다.

    <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 특정 유형의 이벤트를 감지하고 이벤트 정보가 포함된 메시지를 게시합니다. 자세한 정보는 단원을 참조하십시오.이벤트 메시지 구조.

이벤트 알림 유형 및 대상

이 단원에서는 Amazon S3에서 지원하는 이벤트 알림 유형과, 알림을 게시할 수 있는 대상 유형에 대해 설명합니다.

지원되는 이벤트 유형

Amazon S3는 다음과 같은 유형의 이벤트를 게시할 수 있습니다. 알림 구성에 이러한 이벤트 유형을 지정합니다.

이벤트 유형 설명

s3:ObjectCreated:*

s3:ObjectCreated:Put

s3:ObjectCreated:Post

s3:ObjectCreated:Copy

s3:ObjectCreated:CompleteMultipartUpload

Amazon S3PUT, POST 및 COPY와 같은 API는 객체를 생성할 수 있습니다. 이러한 이벤트 유형을 사용하여 특정 API를 사용하여 개체가 생성될 때 알림을 활성화하거나 s3:목표 생성:* 이벤트 유형을 사용하여 개체를 만드는 데 사용된 API에 관계없이 알림을 요청할 수 있습니다.

실패한 작업에서는 이벤트 알림이 수신되지 않습니다.

s3:ObjectRemoved:*

s3:ObjectRemoved:Delete

s3:ObjectRemoved:DeleteMarkerCreated

을(를) 사용하여 목표 이동 이벤트 유형을 사용하여 개체를 버킷에서 제거할 때 알림을 활성화할 수 있습니다.

개체가 삭제되거나 버전 개체가 영구적으로 삭제되면 알림을 요청할 수 있습니다. s3:objectremoved:삭제 이벤트 유형. 또는 다음을 사용하여 버전 삭제된 개체에 대한 삭제 마커가 생성될 때 알림을 요청할 수 있습니다. s3:objectremoved:deletemarkercreated. 버전 지정된 객체 삭제에 대한 자세한 내용은 를 참조하십시오.객체 버전 삭제. 와일드카드를 사용할 수도 있습니다. s3:ObjectRemoved:* 개체가 삭제될 때마다 알림을 요청할 수 있습니다.

수명 주기 정책에 따른 자동 삭제 또는 작업이 실패한 경우에는 이벤트 알림이 수신되지 않습니다.

s3:ObjectRestore:Post

s3:ObjectRestore:Completed

객체 복원 이벤트 유형을 사용하면 S3 Glacier 스토리지 클래스에서 객체를 복원할 때 초기화 및 완료 알림을 받을 수 있습니다.

사용 s3:ObjectRestore:Post 개체 복원 개시 시 알림을 요청하려면 사용 s3:ObjectRestore:Completed 복원 완료 알림을 요청하려면

s3:ReducedRedundancyLostObject 이 이벤트 유형을 사용하여 요청할 수 있습니다. Amazon S3 알림 메시지를 전송하려면 Amazon S3 RRS 스토리지 클래스의 개체가 손실되었음을 감지합니다.
s3:Replication:OperationFailedReplication Amazon S3 Replication Time Control을 사용하여 복제할 수 있는 객체를 복제하지 못한 경우 이 알림 이벤트가 수신됩니다.
s3:Replication:OperationMissedThreshold 복제를 사용할 수 있는 개체가 있는 경우 이 알림 이벤트를 수신합니다. Amazon S3 복제 시간 제어가 복제에 대한 15분 임계값을 초과했습니다.
s3:Replication:OperationReplicatedAfterThreshold 복제를 통해 복제할 수 있는 개체에 대해 이 알림 이벤트를 Amazon S3 15분 임계값 이후의 복제 시간 제어 기능
s3:Replication:OperationNotTracked 복제 대상 객체에 대해 이 알림 이벤트를 수신합니다. Amazon S3 복제 시간 제어가 있지만 복제 메트릭에 의해 더 이상 추적되지 않습니다.

지원되는 대상

Amazon S3는 다음과 같은 대상으로 이벤트 알림 메시지를 보낼 수 있습니다. 알림 구성에 이러한 대상의 ARN 값을 지정합니다.

  • 이벤트 메시지를 Amazon Simple Notification Service (Amazon SNS) 주제

  • 이벤트 메시지를 Amazon Simple Queue Service (Amazon SQS) 대기열

    참고

    대상 대기열 또는 주제가 SSE가 활성화된 경우, Amazon S3 관련 정보에 대한 액세스가 필요합니다. AWS Key Management Service (AWS KMS) 메시지 암호화를 활성화하기 위한 고객 마스터 키(CMK).

  • 이벤트 메시지 게시 대상 AWS Lambda 송장을 Lambda 이벤트 메시지를 논쟁으로 제공

귀하는 Amazon S3 메시지 게시 권한 Amazon SNS 주제 또는 Amazon SQS 대기열. 또한 Amazon S3 인보이스를 AWS Lambda 을(를) 대신하여 기능을 수행합니다. 이러한 권한 부여에 대한 자세한 내용은 를 참조하십시오.대상에 이벤트 알림 메시지를 게시할 권한 부여.

객체 키 이름 필터링으로 알림 구성

객체 키 이름의 접두사 및 접미사로 알림을 필터링하도록 구성할 수 있습니다. 예를 들어, 파일 이름 확장명이 ".jpg"인 이미지 파일이 버킷에 추가될 경우에만 알림을 받도록 구성을 설정할 수 있습니다. 또는 Amazon SNS 접두사 "images/" 이(가) 버킷에 추가되고, "logs/"접두사"가 AWS Lambda 기능.

에서 개체 키 이름 필터링을 사용하는 알림 구성을 설정할 수 있습니다. Amazon S3 콘솔 및 Amazon S3 청구 AWS REST 또는 REST API. 콘솔 UI를 사용하여 버킷에서 알림 구성을 설정하는 방법에 대한 자세한 내용은 다음을 참조하십시오. S3 버킷에 대한 이벤트 알림을 활성화하고 구성하는 방법은 무엇입니까? in the Amazon Simple Storage Service 콘솔 사용 설명서.

Amazon S3 통지 구성을 XML로 저장 알림 에 설명된 바와 같이 버킷과 관련된 하위 자원 이벤트 알림을 활성화하는 방법 . 알림의 규칙을 정의하여 객체 키 이름의 접두사 및/또는 접미사로 알림을 필터링하려면 Filter XML 구조를 사용합니다. 자세한 내용은 Filter XML 구조, 참조 PUT 버킷 알림 in the Amazon Simple Storage Service API Reference.

사용하는 알림 구성 Filter 중첩 접두어, 중첩 접미사, 접미사 및 접미사 중복과 함께 필터링 규칙을 정의할 수 없습니다. 다음 단원에는 객체 키 이름 필터링을 사용하는 유효한 알림 구성의 예가 나와 있습니다. 또한 접두사/접미사 중첩으로 인해 유효하지 않은 알림 구성 예제가 포함되어 있습니다.

객체 키 이름 필터링을 포함하는 유효한 알림 구성 예제

다음 알림 구성에는 큐를 식별하는 큐 구성이 포함되어 있습니다. Amazon SQS 대기열 Amazon S3 이벤트에 대한 이벤트를 s3:ObjectCreated:Put 유형. 이 이벤트는 접두사가 있는 객체가 있을 때마다 게시됩니다. images/ 그리고 jpg 서픽스를 버킷에 넣으십시오.

<NotificationConfiguration> <QueueConfiguration> <Id>1</Id> <Filter> <S3Key> <FilterRule> <Name>prefix</Name> <Value>images/</Value> </FilterRule> <FilterRule> <Name>suffix</Name> <Value>jpg</Value> </FilterRule> </S3Key> </Filter> <Queue>arn:aws:sqs:us-west-2:444455556666:s3notificationqueue</Queue> <Event>s3:ObjectCreated:Put</Event> </QueueConfiguration> </NotificationConfiguration>

다음 알림 구성에는 여러 개의 비중첩 접두사가 있습니다. 구성은 images/ 폴더가 대기열 A로 이동하며, logs/ 폴더가 큐-B로 이동합니다.

<NotificationConfiguration> <QueueConfiguration> <Id>1</Id> <Filter> <S3Key> <FilterRule> <Name>prefix</Name> <Value>images/</Value> </FilterRule> </S3Key> </Filter> <Queue>arn:aws:sqs:us-west-2:444455556666:sqs-queue-A</Queue> <Event>s3:ObjectCreated:Put</Event> </QueueConfiguration> <QueueConfiguration> <Id>2</Id> <Filter> <S3Key> <FilterRule> <Name>prefix</Name> <Value>logs/</Value> </FilterRule> </S3Key> </Filter> <Queue>arn:aws:sqs:us-west-2:444455556666:sqs-queue-B</Queue> <Event>s3:ObjectCreated:Put</Event> </QueueConfiguration> </NotificationConfiguration>

다음 알림 구성에는 여러 개의 비중첩 접미사가 있습니다. 구성은 .jpg 버킷에 새로 추가된 영상은 Lambda 클라우드-기능-A와 새롭게 추가된 .png 영상은 클라우드 기능 B에 의해 처리됩니다. .png and .jpg 접미사가 동일한 마지막 문자를 가지고 있더라도 중복되지 않습니다. 한 문자열이 두 접미사로 끝날 수 있으면 두 개의 접미사가 중첩되는 것으로 간주됩니다. 두 가지 모두로 끝나는 문자열 .png and .jpg예제 구성의 접미사가 겹치지 않는 접미어가 됩니다.

<NotificationConfiguration> <CloudFunctionConfiguration> <Id>1</Id> <Filter> <S3Key> <FilterRule> <Name>suffix</Name> <Value>.jpg</Value> </FilterRule> </S3Key> </Filter> <CloudFunction>arn:aws:lambda:us-west-2:444455556666:cloud-function-A</CloudFunction> <Event>s3:ObjectCreated:Put</Event> </CloudFunctionConfiguration> <CloudFunctionConfiguration> <Id>2</Id> <Filter> <S3Key> <FilterRule> <Name>suffix</Name> <Value>.png</Value> </FilterRule> </S3Key> </Filter> <CloudFunction>arn:aws:lambda:us-west-2:444455556666:cloud-function-B</CloudFunction> <Event>s3:ObjectCreated:Put</Event> </CloudFunctionConfiguration> </NotificationConfiguration>

사용 중인 알림 구성 Filter 중첩 접두어가 겹치지 않는 접미사와 함께 사용되는 경우를 제외하고 동일한 이벤트 유형에 대한 중첩 접두사로 필터링 규칙을 정의할 수 없습니다. 다음 예제 구성은 일반 접두사를 갖지만 접미사가 중첩되지 않게 생성된 객체가 어떻게 다른 대상으로 전송될 수 있는지를 보여 줍니다.

<NotificationConfiguration> <CloudFunctionConfiguration> <Id>1</Id> <Filter> <S3Key> <FilterRule> <Name>prefix</Name> <Value>images</Value> </FilterRule> <FilterRule> <Name>suffix</Name> <Value>.jpg</Value> </FilterRule> </S3Key> </Filter> <CloudFunction>arn:aws:lambda:us-west-2:444455556666:cloud-function-A</CloudFunction> <Event>s3:ObjectCreated:Put</Event> </CloudFunctionConfiguration> <CloudFunctionConfiguration> <Id>2</Id> <Filter> <S3Key> <FilterRule> <Name>prefix</Name> <Value>images</Value> </FilterRule> <FilterRule> <Name>suffix</Name> <Value>.png</Value> </FilterRule> </S3Key> </Filter> <CloudFunction>arn:aws:lambda:us-west-2:444455556666:cloud-function-B</CloudFunction> <Event>s3:ObjectCreated:Put</Event> </CloudFunctionConfiguration> </NotificationConfiguration>

유효하지 않은 접두사/접미사 중첩을 포함하는 알림 구성 예제

가장 많은 부분에서는 Filter 에서는 동일한 이벤트 유형에 대한 접두어 중첩, 중첩 접미사 또는 접두사 조합 중복과 함께 필터링 규칙을 정의할 수 없습니다. 접두어가 겹치지 않는 한 접두어가 겹쳐질 수 있습니다. 예를 들어 객체 키 이름 필터링으로 알림 구성.)

이벤트 유형이 서로 다른 중첩 객체 키 이름 필터를 사용할 수 있습니다. 예를 들어 접두어를 사용하는 알림 구성을 만들 수 있습니다. image/ for the ObjectCreated:Put 이벤트 유형 및 접두사 image/ for the ObjectRemoved:* 이벤트 유형.

사용 중인 동일한 이벤트 유형에 대해 유효하지 않은 중복된 이름 필터가 있는 알림 구성을 저장하려고 하면 오류가 발생합니다. Amazon S3 콘솔 또는 API. 이 단원에서는 중첩된 이름 필터로 인해 유효하지 않은 알림 구성의 예를 보여줍니다.

기존의 알림 구성 규칙이 다른 접두사 및 접미사와 각각 일치하는 기본 접두사와 접미사를 갖는다고 가정해 보겠습니다. 다음 알림 구성은 중첩 접두사가 있기 때문에 유효하지 않습니다. 루트 접두사가 다른 접두사와 중첩됩니다. (이 예에서 접두사 대신 접미사를 사용하고 있다면 똑같은 것이 사실일 것입니다. 루트 접미사는 다른 접미사와 겹칩니다.)

<NotificationConfiguration> <TopicConfiguration> <Topic>arn:aws:sns:us-west-2:444455556666:sns-notification-one</Topic> <Event>s3:ObjectCreated:*</Event> </TopicConfiguration> <TopicConfiguration> <Topic>arn:aws:sns:us-west-2:444455556666:sns-notification-two</Topic> <Event>s3:ObjectCreated:*</Event> <Filter> <S3Key> <FilterRule> <Name>prefix</Name> <Value>images</Value> </FilterRule> </S3Key> </Filter> </TopicConfiguration> </NotificationConfiguration>

다음 알림 구성은 중첩 접미사가 있기 때문에 유효하지 않습니다. 한 문자열이 두 접미사로 끝날 수 있으면 두 개의 접미사가 중첩되는 것으로 간주됩니다. 스트링은 jpg and pg접미사가 겹쳐져 있습니다. (접두사의 경우에도 마찬가지로, 한 문자열이 두 접두사로 시작할 수 있을 경우 두 개의 접두사가 중첩되는 것으로 간주됩니다.)

<NotificationConfiguration> <TopicConfiguration> <Topic>arn:aws:sns:us-west-2:444455556666:sns-topic-one</Topic> <Event>s3:ObjectCreated:*</Event> <Filter> <S3Key> <FilterRule> <Name>suffix</Name> <Value>jpg</Value> </FilterRule> </S3Key> </Filter> </TopicConfiguration> <TopicConfiguration> <Topic>arn:aws:sns:us-west-2:444455556666:sns-topic-two</Topic> <Event>s3:ObjectCreated:Put</Event> <Filter> <S3Key> <FilterRule> <Name>suffix</Name> <Value>pg</Value> </FilterRule> </S3Key> </Filter> </TopicConfiguration> </NotificationConfiguration

다음 알림 구성은 접두사와 접미사가 중첩되기 때문에 유효하지 않습니다.

<NotificationConfiguration> <TopicConfiguration> <Topic>arn:aws:sns:us-west-2:444455556666:sns-topic-one</Topic> <Event>s3:ObjectCreated:*</Event> <Filter> <S3Key> <FilterRule> <Name>prefix</Name> <Value>images</Value> </FilterRule> <FilterRule> <Name>suffix</Name> <Value>jpg</Value> </FilterRule> </S3Key> </Filter> </TopicConfiguration> <TopicConfiguration> <Topic>arn:aws:sns:us-west-2:444455556666:sns-topic-two</Topic> <Event>s3:ObjectCreated:Put</Event> <Filter> <S3Key> <FilterRule> <Name>suffix</Name> <Value>jpg</Value> </FilterRule> </S3Key> </Filter> </TopicConfiguration> </NotificationConfiguration>

대상에 이벤트 알림 메시지를 게시할 권한 부여

전 Amazon S3 대상에 메시지를 게시할 수 있으며, Amazon S3 관련 API에 호출하여 SNS 주제, SQS 대기열 또는 Lambda 기능.

송장에 대한 권한 부여 AWS Lambda 기능

Amazon S3 이벤트 메시지 게시 AWS Lambda 송장을 Lambda 이벤트 메시지를 논쟁으로 제공합니다.

귀하가 Amazon S3 콘솔을 사용하여 Amazon S3 버킷 Lambda 콘솔은 Lambda 기능을 Amazon S3 은(는) 버킷에서 기능을 호출할 권한이 있습니다. 자세한 내용은 S3 버킷에 대한 이벤트 알림을 활성화하고 구성하는 방법은 무엇입니까? in the Amazon Simple Storage Service 콘솔 사용 설명서.

또한 Amazon S3 사용 권한 AWS Lambda to invoke your Lambda 기능. 자세한 내용은 튜토리얼: 사용 AWS Lambda with Amazon S3 in the AWS Lambda Developer Guide.

SNS 주제 또는 SQS 대기열로 메시지를 게시할 권한 부여

교부하려면 Amazon S3 SNS 항목 또는 SQS 대기열에 메시지를 게시할 수 있는 권한이 있는 경우 AWS Identity and Access Management (IAM)를 사용하여 대상 SNS 항목 또는 SQS 대기열에 정책을 적용합니다.

SNS 주제 또는 SQS 대기열에 정책을 연결하는 방법에 대한 예제는 단원을 참조하십시오.안내 알림을 위한 버킷 구성(SNS 항목 또는 SQS 큐). 권한에 대한 자세한 내용은 다음 단원을 참조하십시오.

IAM대상 SNS 주제에 대한 정책

다음은 대상 SNS 주제에 연결하는 IAM 정책의 예제입니다.

{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SNS:Publish" ], "Resource": "arn:aws:sns:Region:account-id:topic-name", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:::awsexamplebucket1" }, "StringEquals": { "aws:SourceAccount": "bucket-owner-account-id" } } } ] }

IAM대상 SQS 대기열에 대한 정책

다음은 대상 SQS 대기열에 연결하는 IAM 정책의 예제입니다.

{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "SQS:SendMessage" ], "Resource": "arn:aws:sqs:Region:account-id:queue-name", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:s3:*:*:awsexamplebucket1" }, "StringEquals": { "aws:SourceAccount": "bucket-owner-account-id" } } } ] }

모두 Amazon SNS and Amazon SQS IAM 정책에 따라 StringLike 정책 상의 조건 대신 ArnLike 조건.

"Condition": {        "StringLike": { "aws:SourceArn": "arn:aws:s3:*:*:bucket-name" } }

AWS KMS 키 정책

SQS 대기열 또는 SNS 항목이 AWS Key Management Service (AWS KMS고객 관리 고객 마스터 키(CMK)를 Amazon S3 암호화된 주제 및 대기열을 사용하여 작업할 수 있는 서비스 주 권한. 이를 Amazon S3 서비스 주요 허가, 고객 관리 CMK의 주요 정책에 다음 문장을 추가합니다.

{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*" } ] }

자세한 정보는 AWS KMS 주요 정책을 주요 정책 사용 AWS KMS in the AWS Key Management Service Developer Guide. 서버 측 암호화 사용에 대한 자세한 내용은 AWS KMS for Amazon SQS and Amazon SNS을 참조하십시오.