SourceLocation ​
The SourceLocation resource lets you manage AWS MediaTailor SourceLocations for configuring video streaming sources.
Resource Documentation ​
For detailed information on SourceLocations, refer to the AWS CloudFormation documentation.
Minimal Example ​
Create a basic SourceLocation with required properties and a common optional property.
ts
import AWS from "alchemy/aws/control";
const basicSourceLocation = await AWS.MediaTailor.SourceLocation("basicSourceLocation", {
SourceLocationName: "MySourceLocation",
HttpConfiguration: {
BaseUrl: "https://myvideo.com"
},
DefaultSegmentDeliveryConfiguration: {
SegmentBase: {
DurationSeconds: 10,
ManifestEndpointPrefix: "https://myvideo.com/manifest"
}
}
});
Advanced Configuration ​
Configure a SourceLocation with multiple segment delivery configurations and access control.
ts
const advancedSourceLocation = await AWS.MediaTailor.SourceLocation("advancedSourceLocation", {
SourceLocationName: "MyAdvancedSourceLocation",
HttpConfiguration: {
BaseUrl: "https://myadvancedvideo.com"
},
SegmentDeliveryConfigurations: [
{
SegmentDeliveryConfigurationName: "HLSConfiguration",
SegmentBase: {
DurationSeconds: 10,
ManifestEndpointPrefix: "https://myadvancedvideo.com/hls"
}
},
{
SegmentDeliveryConfigurationName: "DASHConfiguration",
SegmentBase: {
DurationSeconds: 5,
ManifestEndpointPrefix: "https://myadvancedvideo.com/dash"
}
}
],
AccessConfiguration: {
AccessType: "ALLOW",
AllowedOrigins: ["https://myallowedorigin.com"]
}
});
Tagging for Organization ​
Create a SourceLocation with tags to help with resource organization.
ts
const taggedSourceLocation = await AWS.MediaTailor.SourceLocation("taggedSourceLocation", {
SourceLocationName: "MyTaggedSourceLocation",
HttpConfiguration: {
BaseUrl: "https://mytaggedvideo.com"
},
Tags: [
{ Key: "Environment", Value: "Production" },
{ Key: "Project", Value: "VideoStreaming" }
]
});
Adoption of Existing Resource ​
Adopt an existing SourceLocation instead of failing if it already exists.
ts
const adoptSourceLocation = await AWS.MediaTailor.SourceLocation("adoptSourceLocation", {
SourceLocationName: "MyExistingSourceLocation",
HttpConfiguration: {
BaseUrl: "https://myexistingvideo.com"
},
adopt: true // This ensures that it will adopt the existing resource
});