Container
The Container resource allows you to manage AWS MediaStore Containers which are used to store and retrieve media assets for streaming.
Minimal Example
Section titled “Minimal Example”Create a simple MediaStore container with a name and basic access logging enabled.
import AWS from "alchemy/aws/control";
const mediaStoreContainer = await AWS.MediaStore.Container("myMediaStoreContainer", { ContainerName: "my-media-container", AccessLoggingEnabled: true // Enables access logging for the container});
Advanced Configuration
Section titled “Advanced Configuration”Configure a MediaStore container with a custom lifecycle policy and CORS rules.
const advancedMediaStoreContainer = await AWS.MediaStore.Container("advancedMediaStoreContainer", { ContainerName: "advanced-media-container", LifecyclePolicy: JSON.stringify({ Rules: [ { ExpirationInDays: 30, Status: "Enabled" } ] }), CorsPolicy: [ { AllowedHeaders: ["*"], AllowedMethods: ["GET", "PUT"], AllowedOrigins: ["https://mywebsite.com"], ExposeHeaders: ["ETag"], MaxAgeSeconds: 3000 } ]});
Custom Policy Settings
Section titled “Custom Policy Settings”Create a MediaStore container with a detailed policy for managing access permissions.
const policyMediaStoreContainer = await AWS.MediaStore.Container("policyMediaStoreContainer", { ContainerName: "policy-media-container", Policy: JSON.stringify({ Version: "2012-10-17", Statement: [ { Effect: "Allow", Principal: "*", Action: "mediastore:GetObject", Resource: "arn:aws:mediastore:us-east-1:123456789012:container/my-media-container/*" } ] })});
Metric Policy Configuration
Section titled “Metric Policy Configuration”Set up a MediaStore container with a metric policy for monitoring metrics.
const metricPolicyMediaStoreContainer = await AWS.MediaStore.Container("metricPolicyMediaStoreContainer", { ContainerName: "metric-policy-container", MetricPolicy: { ContainerLevelMetrics: "ALL", MetricPolicy: [ { MetricName: "IncomingBytes", Period: 60, Statistics: ["Sum", "Average"] } ] }});