Skip to content
GitHubXDiscordRSS

FlowSource

Learn how to create, update, and manage AWS MediaConnect FlowSources using Alchemy Cloud Control.

The FlowSource resource lets you manage AWS MediaConnect FlowSources and their configuration settings for media transport.

Create a basic FlowSource with required properties and one optional property.

import AWS from "alchemy/aws/control";
const basicFlowSource = await AWS.MediaConnect.FlowSource("basic-flow-source", {
description: "Basic FlowSource for live streaming",
name: "LiveStreamSource",
ingestPort: 9000,
protocol: "RTP"
});

Configure a FlowSource with encryption and a specific network configuration.

const advancedFlowSource = await AWS.MediaConnect.FlowSource("advanced-flow-source", {
description: "Advanced FlowSource with encryption",
name: "SecureLiveStreamSource",
ingestPort: 9000,
protocol: "RTP",
decryption: {
roleArn: "arn:aws:iam::123456789012:role/MediaConnectRole",
keyType: "static-key",
staticKeyConfig: {
key: "your-encryption-key",
keyId: "your-key-id"
}
},
senderIpAddress: "192.168.1.10",
whitelistCidr: "192.168.1.0/24"
});

Create a FlowSource that utilizes a Gateway Bridge configuration.

const gatewayBridgeFlowSource = await AWS.MediaConnect.FlowSource("gateway-flow-source", {
description: "FlowSource using Gateway Bridge",
name: "GatewayBridgeSource",
gatewayBridgeSource: {
gatewayBridgeArn: "arn:aws:mediaconnect:us-west-2:123456789012:gateway-bridge:my-gateway-bridge"
},
protocol: "RTP",
sourceListenerAddress: "192.168.1.20",
sourceListenerPort: 9001
});

Set up a FlowSource with an entitlement ARN for controlled access.

const entitledFlowSource = await AWS.MediaConnect.FlowSource("entitled-flow-source", {
description: "FlowSource with entitlement",
name: "EntitledLiveStreamSource",
entitlementArn: "arn:aws:mediaconnect:us-west-2:123456789012:entitlement:my-entitlement",
protocol: "RTP",
senderIpAddress: "192.168.2.10"
});