Skip to content
GitHubXDiscord

FlowSource

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