Thông báo sự kiện AWS S3 giúp chúng ta nhận thông báo khi một số sự kiện nhất định diễn ra trong S3 Bucket. Chúng ta có thể bật các sự kiện Amazon S3 bucket khả dụng để gửi tin nhắn thông báo. Vì vậy, bất cứ khi nào sự kiện được chỉ định diễn ra trong S3 Bucket, sự kiện đó sẽ được kích hoạt và thông báo sẽ được gửi đi.
Trong bài viết này, chúng ta sẽ xem cách nhận thông báo qua Email khi một số sự kiện nhất định diễn ra trên S3 Bucket của chúng ta.
Thông báo sự kiện AWS S3 hỗ trợ đích sau đây, nơi có thể gửi thông báo/tin nhắn.
Khi chúng ta nhấp vào liên kết trên, chúng ta sẽ thấy một trang web như sau, tại đó chúng ta được yêu cầu đăng nhập bằng thông tin đăng nhập của mình.
Sau khi đăng nhập thành công vào tài khoản của mình, bạn sẽ thấy màn hình như sau.
Trên Bảng điều khiển S3, nhấp vào thùng S3 mà bạn muốn cấu hình thông báo sự kiện.
Nhấp vào "Thuộc tính" và bạn sẽ thấy màn hình như sau, tại đây hãy nhấp vào "Sự kiện"
Bây giờ bạn có thể tạo thông báo bằng cách nhấp vào "Thêm thông báo".
Đặt tên cho thông báo cần tạo, chọn Sự kiện bạn muốn được thông báo, chọn chủ đề SNS mà bạn muốn gửi thông báo và nhấp vào "Lưu".
Chúng ta cũng có thể thiết lập bộ lọc tiền tố/hậu tố để chỉ nhận thông báo khi tệp được thêm vào một thư mục cụ thể. Bạn có thể thực hiện điều này bằng cách thêm Tiền tố/Hậu tố. Hiện tại, tôi không thêm điều này, bạn có thể thử nếu muốn.
Bạn sẽ thấy lỗi khi lưu thông báo. Nguyên nhân là do Chủ đề SNS mà chúng tôi đã chọn để gửi thông báo của bạn không có quyền nhận thông báo từ nhóm này. Do đó, chúng tôi nhận được loại lỗi này. Để giải quyết lỗi này, chúng ta cần thêm quyền vào thùng SNS để nó có thể nhận thông báo từ thùng S3 này.
Để đến SNS, hãy tìm kiếm SNS và nhấp vào kết quả.
Trên bảng điều khiển chính, hãy nhấp vào "Chủ đề" ở bảng điều khiển bên trái.
Nhấp vào chủ đề SNS của bạn.
Trong "Chính sách truy cập", bạn có thể thấy chính sách hiện tại mà SNS có. Chúng ta cần chỉnh sửa chính sách này. Nhấp vào "Chỉnh sửa".
Thay thế Chính sách SNS bằng chính sách sau.
Trong chính sách SNS, chúng tôi chỉ thêm câu lệnh in đậm + in nghiêng. Ngoài ra, đừng quên thay thế các trường được tô sáng màu đỏ.
Lưu các thay đổi vào SNS.
Quay lại Sự kiện S3, bây giờ hãy thử tạo lại cùng một sự kiện và lưu lại. Bạn sẽ thấy rằng hiện tại bạn đã tạo 1 sự kiện.
Truy cập trang chính của S3 Bucket để kiểm tra xem các sự kiện có được thông báo hay không.
Tải một đối tượng mẫu lên S3 Bucket của bạn, đây sẽ là hành động "PUT" trong S3 Bucket. Điều này sẽ kích hoạt thông báo sự kiện của chúng ta và gửi thông báo cho chúng ta.
Vì vậy, khi tôi tải đối tượng lên, thông báo sự kiện mà chúng ta tạo đã được kích hoạt và SNS đã gửi thông báo cho tôi về Đăng ký email mà tôi có trong đó.
Trong bài viết này, chúng ta sẽ xem cách nhận thông báo qua Email khi một số sự kiện nhất định diễn ra trên S3 Bucket của chúng ta.
Thông báo sự kiện AWS S3 hỗ trợ đích sau đây, nơi có thể gửi thông báo/tin nhắn.
- Chủ đề Amazon Simple Notification Service (Amazon SNS):
Tin nhắn được gửi đến các điểm cuối đã đăng ký. - Hàng đợi Amazon Simple Queue Service (Amazon SQS):
Tin nhắn được gửi đến SQS Queue, nơi chúng có thể được lưu trữ. - AWS Lambda:
Có thể được sử dụng để gọi hàm Lambda và cung cấp thông báo sự kiện dưới dạng đối số.
Điều kiện tiên quyết
- Tài khoản AWS (Tạo nếu bạn chưa có).
- S3 Bucket.
- Chủ đề SNS.
Chúng ta sẽ làm gì?
- Đăng nhập vào AWS.
- Cấu hình thông báo S3event.
Đăng nhập vào AWS
Nhấp vào đây để đến Trang đăng nhập AWS.Khi chúng ta nhấp vào liên kết trên, chúng ta sẽ thấy một trang web như sau, tại đó chúng ta được yêu cầu đăng nhập bằng thông tin đăng nhập của mình.
Sau khi đăng nhập thành công vào tài khoản của mình, bạn sẽ thấy màn hình như sau.
Cấu hình Thông báo S3event.
Nhấp vào Dịch vụ và tìm kiếm S3 để đến Bảng điều khiển S3.Trên Bảng điều khiển S3, nhấp vào thùng S3 mà bạn muốn cấu hình thông báo sự kiện.
Nhấp vào "Thuộc tính" và bạn sẽ thấy màn hình như sau, tại đây hãy nhấp vào "Sự kiện"
Bây giờ bạn có thể tạo thông báo bằng cách nhấp vào "Thêm thông báo".
Đặt tên cho thông báo cần tạo, chọn Sự kiện bạn muốn được thông báo, chọn chủ đề SNS mà bạn muốn gửi thông báo và nhấp vào "Lưu".
Chúng ta cũng có thể thiết lập bộ lọc tiền tố/hậu tố để chỉ nhận thông báo khi tệp được thêm vào một thư mục cụ thể. Bạn có thể thực hiện điều này bằng cách thêm Tiền tố/Hậu tố. Hiện tại, tôi không thêm điều này, bạn có thể thử nếu muốn.
Bạn sẽ thấy lỗi khi lưu thông báo. Nguyên nhân là do Chủ đề SNS mà chúng tôi đã chọn để gửi thông báo của bạn không có quyền nhận thông báo từ nhóm này. Do đó, chúng tôi nhận được loại lỗi này. Để giải quyết lỗi này, chúng ta cần thêm quyền vào thùng SNS để nó có thể nhận thông báo từ thùng S3 này.
Để đến SNS, hãy tìm kiếm SNS và nhấp vào kết quả.
Trên bảng điều khiển chính, hãy nhấp vào "Chủ đề" ở bảng điều khiển bên trái.
Nhấp vào chủ đề SNS của bạn.
Trong "Chính sách truy cập", bạn có thể thấy chính sách hiện tại mà SNS có. Chúng ta cần chỉnh sửa chính sách này. Nhấp vào "Chỉnh sửa".
Thay thế Chính sách SNS bằng chính sách sau.
Mã:
{ "Phiên bản": "2012-10-17", "Id": "__default_policy_ID", "Câu lệnh": [ { "Sid": "__default_statement_ID", "Hiệu ứng": "Cho phép", "Chính": { "AWS": "*" }, "Hành động": [ "SNS:GetTopicAttributes", "SNS:SetTopicAttributes", "SNS:AddPermission", "SNS:RemovePermission", "SNS:DeleteTopic", "SNS:Subscribe", "SNS:ListSubscriptionsByTopic", "SNS:Publish", "SNS:Receive" ], "Tài nguyên": "arn:aws:sns:eu-west-3:064827688814:rahul-test", "Điều kiện": { "StringEquals": { "AWS:SourceOwner": "064827688814" } } }, { "Sid": "AWSEvents_all-events_Id2377506854031", "Effect": "Cho phép", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sns:Publish", "Resource": "arn:aws:sns:eu-west-3:064827688814:rahul-test" },[I] { "Sid": "AWSEvents_S3_Event", "Effect": "Cho phép", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "sns:Publish", "Resource": "arn:aws:sns:eu-west-3:064827688814:rahul-test" }[/I] ]}
Lưu các thay đổi vào SNS.
Quay lại Sự kiện S3, bây giờ hãy thử tạo lại cùng một sự kiện và lưu lại. Bạn sẽ thấy rằng hiện tại bạn đã tạo 1 sự kiện.
Truy cập trang chính của S3 Bucket để kiểm tra xem các sự kiện có được thông báo hay không.
Tải một đối tượng mẫu lên S3 Bucket của bạn, đây sẽ là hành động "PUT" trong S3 Bucket. Điều này sẽ kích hoạt thông báo sự kiện của chúng ta và gửi thông báo cho chúng ta.
Vì vậy, khi tôi tải đối tượng lên, thông báo sự kiện mà chúng ta tạo đã được kích hoạt và SNS đã gửi thông báo cho tôi về Đăng ký email mà tôi có trong đó.