How to get the notification configuration details of a S3 bucket using Boto3 and AWS Client?

Amazon S3 bucket notifications allow you to receive alerts when certain events occur in your bucket. Using Boto3 with Python, you can retrieve the notification configuration details of any S3 bucket to see what events trigger notifications and where they are sent.

Syntax

s3_client.get_bucket_notification_configuration(Bucket='bucket_name')

Parameters

  • Bucket − The name of the S3 bucket whose notification configuration you want to retrieve

Return Value

Returns a dictionary containing notification configurations for:

  • TopicConfigurations − SNS topic notifications
  • QueueConfigurations − SQS queue notifications
  • LambdaFunctionConfigurations − Lambda function notifications

Example

The following code retrieves notification configuration details from an S3 bucket ?

import boto3
from botocore.exceptions import ClientError

def get_bucket_notification_config(bucket_name):
    session = boto3.session.Session()
    s3_client = session.client('s3')
    try:
        result = s3_client.get_bucket_notification_configuration(Bucket=bucket_name)
        return result
    except ClientError as e:
        print(f"AWS Client Error: {e}")
        return None
    except Exception as e:
        print(f"Unexpected error: {e}")
        return None

# Example usage
config = get_bucket_notification_config("my-example-bucket")
if config:
    print("Notification Configuration:")
    print(config)
else:
    print("No notification configuration found or error occurred")

Sample Output

When a bucket has notification configurations set, the output structure looks like ?

{
    'TopicConfigurations': [
        {
            'Id': 'ObjectCreatedEvents',
            'TopicArn': 'arn:aws:sns:us-east-1:123456789:my-topic',
            'Events': ['s3:ObjectCreated:*'],
            'Filter': {
                'Key': {
                    'FilterRules': [
                        {
                            'Name': 'prefix',
                            'Value': 'documents/'
                        }
                    ]
                }
            }
        }
    ],
    'QueueConfigurations': [],
    'LambdaFunctionConfigurations': []
}

Key Configuration Elements

Element Description Example
Id Unique identifier for the configuration 'ObjectCreatedEvents'
Events S3 events that trigger notifications ['s3:ObjectCreated:*']
Filter Object key name filtering rules Prefix: 'documents/'

Common Event Types

  • s3:ObjectCreated:* − Any object creation event
  • s3:ObjectRemoved:* − Any object deletion event
  • s3:ObjectRestore:* − Object restoration from Glacier
  • s3:Replication:* − Cross-region replication events

Conclusion

Use get_bucket_notification_configuration() to retrieve S3 bucket notification settings. The method returns detailed configuration for SNS, SQS, and Lambda notifications, or an empty response if no notifications are configured.

Updated on: 2026-03-25T18:11:13+05:30

706 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements