개요
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