Creating a media content analytics platform with AWS Elemental, processing logs with Lambda, and storing in RedshiftPython
To accomplish this goal, you could leverage various AWS resources. Specifically, you can use an AWS Elemental MediaConvert to convert your media files, AWS Lambda to process the logs, and AWS Redshift to store the logs. Here's how you could do this with Pulumi:
This Pulumi program has 5 main resource steps:
Creates an IAM role that AWS Elemental MediaConvert can assume. You should replace
"mediaConvertRole"with your desired IAM role name.
Creates an IAM role that AWS Lambda can assume, and attaches the policy that allows the Lambda function to write logs to CloudWatch.
Defines a AWS Lambda function that will process your logs. You must replace
'./path-to-your-lambda-handler-directory'with the path to your Node.js AWS Lambda handler.
Creates an AWS Redshift Cluster that will store your processed logs. Be sure to provide a strong password in the
"master_password"field or use
pulumi.config.Config.require_secretto store it securely.
Exports the Redshift Cluster's endpoint so you can access your stored logs.
Before you run this program, ensure you have installed the required Python modules in your virtual environment:
Unfortunately, Pulumi does not support AWS Elemental yet, the part with MediaConvert creation is skipped and you need to create it manually or by using some automation scripts. Also, you should modify this program to suit your specific needs, for example, adding tags or configuring optional properties.
Look at the following resource documentation for more details: