You may remotely execute workflows and procedures in response to events in your AWS environment by using AWS Event Triggering. Create rules that listen for particular circumstances and initiate responses using AWS EventBridge, Amazon CloudWatch Events, AWS Lambda, and other AWS services.
Top businesses in the sector employ a viral project called AWS S3 Event Triggering.
Here are some instances of leading businesses using S3 event triggering:
Netflix: To provide smooth content ingestion and processing, Netflix leverages S3 event triggering to process video files uploaded to Amazon S3 instantly.
Airbnb uses S3 event triggering to automatically process and examine data stored in Amazon S3, such as customer reviews and booking details. Airbnb is a lodging and homestays aggregator.
Expedia: To enable their customized travel suggestions and search capabilities, they employ S3 event triggering to automatically process and analyze data stored in Amazon S3, such as reservations for travel, user profiles, and pricing information.
shell-script
A shell script is a program or a collection of instructions that are run through the command-line interface of a shell to carry out a particular operation. In Unix-based operating systems like Linux and macOS, shell scripts are frequently used to automate processes and carry out system administrative duties.
Bash, Korn, and C shell are just a few of the languages that may be used to create shell scripts. They can contain logic and flow control instructions like loops, conditionals, and functions. They often consist of a set of commands that are performed in a certain order.
Shell scripts can run automatically with scheduling tools like cron or manually in a shell terminal. They can also be used to communicate with other system elements like databases or online services or incorporated into more extensive automation workflows.
Overall, shell scripts are an effective tool for handling system administration duties and automating processes in Unix-based setups. They can aid in increasing efficiency, decreasing mistakes, and streamlining complicated operations.
IAM
You may securely manage access to AWS services and resources with the help of the AWS Identity and Access Management (IAM) solution, which is offered by Amazon Web Services (AWS). You can manage who has access to your AWS resources, what they can do with them, and which resources they can access with IAM.
IAM offers a number of tools that let you make users, groups, and roles, manage them, and give them rights. IAM enables you to provide rights to specific individuals or groups of users as well as to let apps utilize temporary security credentials to access your AWS resources.
IAM also offers a number of tools to assist you in keeping track of and auditing your access controls as well as spotting any security problems. IAM allows you to keep tabs on user activities, monitor access reports, and get notifications when certain things happen, such as modifications to security policies or unauthorized access attempts.
The following are some frequent IAM use cases:
For your AWS resources, create and maintain user accounts and access policies. employing IAM roles to temporarily grant access to external consultants or software. enabling MFA (multi-factor authentication) to increase user account security. managing resource access by integrating IAM with other AWS services like Amazon S3 and AWS Lambda. Creating unique permissions and access policies to satisfy the particular security needs of your organization.
Lambda function
You can run code using AWS Lambda, a serverless computing technology offered by Amazon Web Services (AWS), without having to provision or manage servers. It enables you to create and set up programs and services that react to many kinds of events, such as the addition of new files to an Amazon SNS topic, modifications to a DynamoDB table, or changes to data in an Amazon S3 bucket.
A wide variety of serverless applications, including chatbots, online and mobile backends, real-time data processing, and data pipelines, can be created using lambda functions. They can also be used to develop APIs, reply to data from IoT devices, and handle streaming service data.
You write code in the language of your choice, package it as a deployment package, then submit it to AWS Lambda to build a Lambda function. The function can then be set up to run in response to particular occasions, such as an API Gateway request or a message from an Amazon SNS topic. The function automatically scales to accommodate any number of requests once it is configured, and you only pay for the compute time that your function uses.
SNS(Simple Notification Service)
AWS offers a fully managed messaging service called Amazon SNS (Simple Notification Service). You may use it to deliver notifications or messages to a large number of recipients or endpoints, including email addresses, mobile phones, Amazon SQS queues, and Lambda functions.
You may disconnect and redistribute workloads across multiple services and applications utilizing SNS, a flexible and scalable service. It can send notifications to Amazon S3 buckets, text messages, and JSON, among other message kinds. Additionally, SNS offers a number of capabilities including message filtering, message delivery retries, and message encryption to assist you in managing your messaging operations.
You must first create a topic, a communication channel that enables you to send messages to several subscribers, in order to use SNS. Following that, you may subscribe endpoints to the subject, including Lambda functions, email addresses, and cell phone numbers. When a message is posted to the subject, SNS sends copies of the message to every endpoint that has subscribed to the topic.
AWS Lambda functions or Amazon SQS queues may be triggered by SNS, as well as by delivering SMS messages, pushing alerts to mobile devices, disseminating event notifications, and more. Creating distributed systems and fusing various services and applications, is a potent tool.
summary
In this project, If the user uploaded a file in an s3 bucket that event will trigger the lambda function and the lambda function executes and the SNS will send a notification to the subscribed receiver in our case it could be Slack or mail. All these operations are executed in the shell script first. Based on that shell script we can create as many as event triggering processes.