AWS

[aws cli] S3 event 알림 설정 확인

비번변경 2022. 10. 11. 19:29

개요

aws cli를 이용해 S3 버킷에 설정된 이벤트 알림의 설정 정보를 확인해보도록 한다. 사용자에게는 s3:GetBucketNotification 권한이 필요하다.

 

 

S3 event 알림 설정

aws s3api get-bucket-notification-configuration \
	--bucket <BUCKET>
    
# 예시
aws s3api get-bucket-notification-configuration \
	--bucket my-bucket
    
# 결과
{
    "TopicConfigurations": [
        {
            "Id": "YmQzMmEwM2EjZWVlI0NGItNzVtZjI1MC00ZjgyLWZDBiZWNl",
            "TopicArn": "arn:aws:sns:us-west-2:123456789012:my-notification-topic",
            "Events": [
                "s3:ObjectCreated:*"
            ]
        }
    ],
    "QueueConfigurations": [
        {
            "Id": "YmQzMmEwM2EjZWVlI0NGItNz",
            "QueueArn": "arn:aws:sqs:us-west-2:123456789012:my-notification-queue",
            "Events": [
                "s3:ObjectCreated:*"
            ],
            "Filter": {
                "Key": {
                    "FilterRules": [
                        {
                            "Name": "Prefix",
                            "Value": "server%3D10"
                        }
                    ]
                }
            }
        }
    ]    
}

버킷의 알림 구성을 반환하며, 구성된 알림이 없으면 빈 NotificationConfiguration 요소를 반환한다.

cli 1 버전에서는 get-bucket-notification이라는 명령어로 사용되었던 것으로 보인다.

 

 

이벤트 알림의 전달 SQS와 Filter Prefix, Events 확인

--query 옵션을 사용하여 확인할 속성 값만 뽑아내도록 한다.

# JSON 배열
aws s3api get-bucket-notification-configuration \
    --bucket <BUCKET> \
    --query 'QueueConfigurations[].[Id, QueueArn, Filter.Key.FilterRules[0].Value, Events]'
    
# JSON 객체
aws s3api get-bucket-notification-configuration \
    --bucket <BUCKET> \
    --query 'QueueConfigurations[].{id:Id, queueArn:QueueArn, prefix:Filter.Key.FilterRules[0].Value, events:Events}'

 

JSON 객체로 출력한 경우 --output table 옵션을 사용하면 테이블 형식의 출력 결과도 확인할 수 있다.

aws s3api get-bucket-notification-configuration \
    --bucket <BUCKET> \
    --query 'QueueConfigurations[].{id:Id, queueArn:QueueArn, prefix:Filter.Key.FilterRules[0].Value, events:Events}'
    --output table

 

 

참고 문서

https://docs.aws.amazon.com/cli/latest/reference/s3api/get-bucket-notification-configuration.html