Skip to content
GitHubXDiscordRSS

Container

Learn how to create, update, and manage AWS MediaStore Containers using Alchemy Cloud Control.

The Container resource allows you to manage AWS MediaStore Containers which are used to store and retrieve media assets for streaming.

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
});

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
}
]
});

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/*"
}
]
})
});

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"]
}
]
}
});