프로그래밍/aws

[AWS] S3 Event -> SQS 사용방법

장경훈 2023. 11. 2. 17:22

1. SQS 권한설정

{
    "Version": "2012-10-17",
    "Id": "example-ID",
    "Statement": [
        {
            "Sid": "example-statement-ID",
            "Effect": "Allow",
            "Principal": {
                "Service": "s3.amazonaws.com"
            },
            "Action": [
                "SQS:SendMessage"
            ],
            "Resource": "sqs의 arn을 여기에 붙여넣기 ",
            "Condition": {
                "ArnLike": {
                    "aws:SourceArn": "여기에 버킷의 arn을 붙여넣기"
                },
                "StringEquals": {
                    "aws:SourceAccount": "aws account-id를 여기에 붙여넣기"
                }
            }
        }
    ]
}

가이드 링크: https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/ways-to-add-notification-config-to-bucket.html

 

연습: 알림용 버킷 구성(SNS 주제 또는 SQS 대기열) - Amazon Simple Storage Service

연습: 알림용 버킷 구성(SNS 주제 또는 SQS 대기열) Amazon Simple Notification Service(Amazon SNS) 또는 Amazon Simple Queue Service(Amazon SQS)를 통해 Amazon S3 알림을 받을 수 있습니다. 이 연습에서는 Amazon SNS 주제 및

docs.aws.amazon.com

2. S3 event 설정

bucket-> properties-> event notifications 만들기 

위의 이미지 처럼 SQS queue와 연결해주기 여기서 SQS queue는 위에서 권한 설정을 완료한 SQS queue여야 한다.

만약 Unable to validate the following destination configurations 이 에러가 발생한다면 정상적으로 권한 설정이 안된것임으로 다시 확인해봐야 한다.

3. 테스트 

Sqs queue -> send and receive message를 간뒤 Poll for message 해보기 

{"Service":"Amazon S3","Event":"s3:TestEvent","Time":"2023-11-02T08:04:40.026Z","Bucket":"beforeprocess","RequestId":"K9TPDJMQC7NWRQR4","HostId":"2BetX5EdonBGF0UPGxpQIGLFVPLFp3MaL8/UXJNrMje8p6/C5PwRRS1IP5H2c/hFm+YlsrSL+bE="}

다음과 같이 S3:TestEvent가 결과값으로 나온다면 정상적으로 연동된것이다.

'프로그래밍 > aws' 카테고리의 다른 글

AWS Glue VS AWS Step Function  (0) 2024.11.07
[AWS] Lambda vpc Nat gateway 설정 with Terraform  (0) 2024.06.10
[aws] 몇가지 기능 간단정리  (0) 2023.07.27