AWS CLI を使用した MediaConnect の例 - AWS Command Line Interface

AWS CLI を使用した MediaConnect の例

次のコード例は、MediaConnect で AWS Command Line Interface を使用してアクションを実行し、一般的なシナリオを実装する方法を示しています。

アクションはより大きなプログラムからのコードの抜粋であり、コンテキスト内で実行する必要があります。アクションは個々のサービス機能を呼び出す方法を示していますが、コンテキスト内のアクションは、関連するシナリオで確認できます。

各例には完全なソースコードへのリンクが含まれており、コードの設定方法と実行方法に関する手順を確認できます。

トピック

アクション

次のコード例は、add-flow-outputs を使用する方法を示しています。

AWS CLI

出力をフローに追加するには

次の add-flow-outputs の例では、指定されたフローに出力を追加します。

aws mediaconnect add-flow-outputs \ --flow-arn arn:aws:mediaconnect:us-east-1:111122223333:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:BaseballGame \ --outputs Description='NYC stream',Destination=192.0.2.12,Name=NYC,Port=3333,Protocol=rtp-fec,SmoothingLatency=100 Description='LA stream',Destination=203.0.113.9,Name=LA,Port=4444,Protocol=rtp-fec,SmoothingLatency=100

出力:

{ "Outputs": [ { "Port": 3333, "OutputArn": "arn:aws:mediaconnect:us-east-1:111122223333:output:2-3aBC45dEF67hiJ89-c34de5fG678h:NYC", "Name": "NYC", "Description": "NYC stream", "Destination": "192.0.2.12", "Transport": { "Protocol": "rtp-fec", "SmoothingLatency": 100 } }, { "Port": 4444, "OutputArn": "arn:aws:mediaconnect:us-east-1:111122223333:output:2-987655dEF67hiJ89-c34de5fG678h:LA", "Name": "LA", "Description": "LA stream", "Destination": "203.0.113.9", "Transport": { "Protocol": "rtp-fec", "SmoothingLatency": 100 } } ], "FlowArn": "arn:aws:mediaconnect:us-east-1:111122223333:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:BaseballGame" }

詳細については、「AWS Elemental MediaConnect User Guide」の「Adding Outputs to a Flow」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「AddFlowOutputs」を参照してください。

次の例は、create-flow を使用する方法を説明しています。

AWS CLI

フローを作成するには

次の create-flow の例では、指定された設定でフローを作成します。

aws mediaconnect create-flow \ --availability-zone us-west-2c \ --name ExampleFlow \ --source Description='Example source, backup',IngestPort=1055,Name=BackupSource,Protocol=rtp,WhitelistCidr=10.24.34.0/23

出力:

{ "Flow": { "FlowArn": "arn:aws:mediaconnect:us-east-1:123456789012:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:ExampleFlow", "AvailabilityZone": "us-west-2c", "EgressIp": "54.245.71.21", "Source": { "IngestPort": 1055, "SourceArn": "arn:aws:mediaconnect:us-east-1:123456789012:source:2-3aBC45dEF67hiJ89-c34de5fG678h:BackupSource", "Transport": { "Protocol": "rtp", "MaxBitrate": 80000000 }, "Description": "Example source, backup", "IngestIp": "54.245.71.21", "WhitelistCidr": "10.24.34.0/23", "Name": "mySource" }, "Entitlements": [], "Name": "ExampleFlow", "Outputs": [], "Status": "STANDBY", "Description": "Example source, backup" } }

詳細については、「AWS Elemental MediaConnect User Guide」の「Creating a Flow」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「CreateFlow」を参照してください。

次の例は、delete-flow を使用する方法を説明しています。

AWS CLI

フローを削除するには

次の delete-flow の例では、指定されたフローを削除します。

aws mediaconnect delete-flow \ --flow-arn arn:aws:mediaconnect:us-east-1:123456789012:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:AwardsShow

出力:

{ "FlowArn": "arn:aws:mediaconnect:us-east-1:123456789012:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:AwardsShow", "Status": "DELETING" }

詳細については、「AWS Elemental MediaConnect User Guide」の「Deleting a Flow」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DeleteFlow」を参照してください。

次のコード例は、describe-flow を使用する方法を示しています。

AWS CLI

フローの詳細を表示するには

次の describe-flow の例では、ARN、アベイラビリティーゾーン、ステータス、ソース、権限、出力など、指定されたフローの詳細を表示します。

aws mediaconnect describe-flow \ --flow-arn arn:aws:mediaconnect:us-east-1:123456789012:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:AwardsShow

出力:

{ "Flow": { "EgressIp": "54.201.4.39", "AvailabilityZone": "us-west-2c", "Status": "ACTIVE", "FlowArn": "arn:aws:mediaconnect:us-east-1:123456789012:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:AwardsShow", "Entitlements": [ { "EntitlementArn": "arn:aws:mediaconnect:us-west-2:123456789012:entitlement:1-AaBb11CcDd22EeFf-34DE5fG12AbC:MyEntitlement", "Description": "Assign to this account", "Name": "MyEntitlement", "Subscribers": [ "444455556666" ] } ], "Description": "NYC awards show", "Name": "AwardsShow", "Outputs": [ { "Port": 2355, "Name": "NYC", "Transport": { "SmoothingLatency": 0, "Protocol": "rtp-fec" }, "OutputArn": "arn:aws:mediaconnect:us-east-1:123456789012:output:2-3aBC45dEF67hiJ89-c34de5fG678h:NYC", "Destination": "192.0.2.0" }, { "Port": 3025, "Name": "LA", "Transport": { "SmoothingLatency": 0, "Protocol": "rtp-fec" }, "OutputArn": "arn:aws:mediaconnect:us-east-1:123456789012:output:2-987655dEF67hiJ89-c34de5fG678h:LA", "Destination": "192.0.2.0" } ], "Source": { "IngestIp": "54.201.4.39", "SourceArn": "arn:aws:mediaconnect:us-east-1:123456789012:source:3-4aBC56dEF78hiJ90-4de5fG6Hi78Jk:ShowSource", "Transport": { "MaxBitrate": 80000000, "Protocol": "rtp" }, "IngestPort": 1069, "Description": "Saturday night show", "Name": "ShowSource", "WhitelistCidr": "10.24.34.0/23" } } }

詳細については、「AWS Elemental MediaConnect User Guide」の「Viewing the Details of a Flow」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「DescribeFlow」を参照してください。

次の例は、grant-flow-entitlements を使用する方法を説明しています。

AWS CLI

フローに権限を付与するには

次の grant-flow-entitlements の例では、指定された既存のフローに、コンテンツを別の AWS アカウントと共有する権限を付与します。

aws mediaconnect grant-flow-entitlements \ --flow-arn arn:aws:mediaconnect:us-east-1:111122223333:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:BaseballGame \ --entitlements Description='For AnyCompany',Encryption={"Algorithm=aes128,KeyType=static-key,RoleArn=arn:aws:iam::111122223333:role/MediaConnect-ASM,SecretArn=arn:aws:secretsmanager:us-west-2:111122223333:secret:mySecret1"},Name=AnyCompany_Entitlement,Subscribers=444455556666 Description='For Example Corp',Name=ExampleCorp,Subscribers=777788889999

出力:

{ "Entitlements": [ { "Name": "AnyCompany_Entitlement", "EntitlementArn": "arn:aws:mediaconnect:us-west-2:111122223333:entitlement:1-11aa22bb11aa22bb-3333cccc4444:AnyCompany_Entitlement", "Subscribers": [ "444455556666" ], "Description": "For AnyCompany", "Encryption": { "SecretArn": "arn:aws:secretsmanager:us-west-2:111122223333:secret:mySecret1", "Algorithm": "aes128", "RoleArn": "arn:aws:iam::111122223333:role/MediaConnect-ASM", "KeyType": "static-key" } }, { "Name": "ExampleCorp", "EntitlementArn": "arn:aws:mediaconnect:us-west-2:111122223333:entitlement:1-3333cccc4444dddd-1111aaaa2222:ExampleCorp", "Subscribers": [ "777788889999" ], "Description": "For Example Corp" } ], "FlowArn": "arn:aws:mediaconnect:us-east-1:111122223333:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:BaseballGame" }

詳細については、「AWS Elemental MediaConnect User Guide」の「Granting an Entitlement on a Flow」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「GrantFlowEntitlements」を参照してください。

次のコード例は、list-entitlements を使用する方法を示しています。

AWS CLI

権限のリストを表示するには

次の list-entitlements の例では、アカウントに付与されたすべての権限のリストを表示します。

aws mediaconnect list-entitlements

出力:

{ "Entitlements": [ { "EntitlementArn": "arn:aws:mediaconnect:us-west-2:111122223333:entitlement:1-11aa22bb11aa22bb-3333cccc4444:MyEntitlement", "EntitlementName": "MyEntitlement" } ] }

詳細については、「AWS Elemental MediaConnect API Reference」の「ListEntitlements」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListEntitlements」を参照してください。

次の例は、list-flows を使用する方法を説明しています。

AWS CLI

フローのリストを表示するには

次の list-flows の例では、フローのリストを表示します。

aws mediaconnect list-flows

出力:

{ "Flows": [ { "Status": "STANDBY", "SourceType": "OWNED", "AvailabilityZone": "us-west-2a", "Description": "NYC awards show", "Name": "AwardsShow", "FlowArn": "arn:aws:mediaconnect:us-east-1:111122223333:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:AwardsShow" }, { "Status": "STANDBY", "SourceType": "OWNED", "AvailabilityZone": "us-west-2c", "Description": "LA basketball game", "Name": "BasketballGame", "FlowArn": "arn:aws:mediaconnect:us-east-1:111122223333:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:BasketballGame" } ] }

詳細については、「AWS Elemental MediaConnect User Guide」の「Viewing a List of Flows」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListFlows」を参照してください。

次の例は、list-tags-for-resource を使用する方法を説明しています。

AWS CLI

MediaConnect リソースのタグを一覧表示するには

次の list-tags-for-resource の例では、指定された MediaConnect に関連付けられたタグキーと値を表示します。

aws mediaconnect list-tags-for-resource \ --resource-arn arn:aws:mediaconnect:us-east-1:123456789012:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:BasketballGame

出力:

{ "Tags": { "region": "west", "stage": "prod" } }

詳細については、「AWS Elemental MediaConnect API Reference」の「ListTagsForResource, TagResource, UntagResource」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「ListTagsForResource」を参照してください。

次のコード例は、remove-flow-output を使用する方法を示しています。

AWS CLI

フローから出力を削除するには

次の remove-flow-output の例では、指定されたフローから出力を削除します。

aws mediaconnect remove-flow-output \ --flow-arn arn:aws:mediaconnect:us-east-1:111122223333:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:BaseballGame \ --output-arn arn:aws:mediaconnect:us-east-1:111122223333:output:2-3aBC45dEF67hiJ89-c34de5fG678h:NYC

出力:

{ "FlowArn": "arn:aws:mediaconnect:us-east-1:111122223333:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:BaseballGame", "OutputArn": "arn:aws:mediaconnect:us-east-1:111122223333:output:2-3aBC45dEF67hiJ89-c34de5fG678h:NYC" }

詳細については、「AWS Elemental MediaConnect User Guide」の「Removing Outputs from a Flow」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「RemoveFlowOutput」を参照してください。

次のコード例は、revoke-flow-entitlement を使用する方法を示しています。

AWS CLI

権限を取り消すには

次の revoke-flow-entitlement の例では、指定されたフローの権限を取り消します。

aws mediaconnect revoke-flow-entitlement \ --flow-arn arn:aws:mediaconnect:us-east-1:111122223333:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:BaseballGame \ --entitlement-arn arn:aws:mediaconnect:us-west-2:111122223333:entitlement:1-11aa22bb11aa22bb-3333cccc4444:AnyCompany_Entitlement

出力:

{ "FlowArn": "arn:aws:mediaconnect:us-east-1:111122223333:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:BaseballGame", "EntitlementArn": "arn:aws:mediaconnect:us-west-2:111122223333:entitlement:1-11aa22bb11aa22bb-3333cccc4444:AnyCompany_Entitlement" }

詳細については、「AWS Elemental MediaConnect User Guide」の「Revoking an Entitlement」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「RevokeFlowEntitlement」を参照してください。

次のコード例は、start-flow を使用する方法を示しています。

AWS CLI

フローを開始するには

次の start-flow の例では、指定されたフローを起動します。

aws mediaconnect start-flow \ --flow-arn arn:aws:mediaconnect:us-east-1:123456789012:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:AwardsShow

このコマンドは何も出力しません。出力:

{ "FlowArn": "arn:aws:mediaconnect:us-east-1:123456789012:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:AwardsShow", "Status": "STARTING" }

詳細については、「AWS Elemental MediaConnect User Guide」の「Starting a Flow」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「StartFlow」を参照してください。

次のコード例は、stop-flow を使用する方法を示しています。

AWS CLI

フローを停止するには

次の stop-flow の例では、指定されたフローを停止します。

aws mediaconnect stop-flow \ --flow-arn arn:aws:mediaconnect:us-east-1:123456789012:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:AwardsShow

出力:

{ "Status": "STOPPING", "FlowArn": "arn:aws:mediaconnect:us-east-1:123456789012:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:AwardsShow" }

詳細については、「AWS Elemental MediaConnect User Guide」の「Stopping a Flow」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「StopFlow」を参照してください。

次のコード例は、tag-resource を使用する方法を示しています。

AWS CLI

MediaConnect リソースにタグを追加するには

次の tag-resource の例では、指定された MediaConnect リソースにキー名と値を持つタグを追加します。

aws mediaconnect tag-resource \ --resource-arn arn:aws:mediaconnect:us-east-1:123456789012:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:BasketballGame --tags region=west

このコマンドは何も出力しません。

詳細については、「AWS Elemental MediaConnect API Reference」の「ListTagsForResource, TagResource, UntagResource」を参照してください。

  • API の詳細については、AWS CLI コマンドリファレンスの「TagResource」を参照してください。

次のコード例は、untag-resource を使用する方法を示しています。

AWS CLI

MediaConnect リソースからタグを削除するには

次の untag-resource の例では、MediaConnect リソースから、指定されたキー名と関連付けられた値のタグを削除します。

aws mediaconnect untag-resource \ --resource-arn arn:aws:mediaconnect:us-east-1:123456789012:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:BasketballGame \ --tag-keys region

このコマンドは何も出力しません。

詳細については、「AWS Elemental MediaConnect API Reference」の「ListTagsForResource, TagResource, UntagResource」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UntagResource」を参照してください。

次の例は、update-flow-entitlement を使用する方法を説明しています。

AWS CLI

権限を更新するには

次の update-flow-entitlement の例では、指定された権限を新しい説明とサブスクライバーで更新します。

aws mediaconnect update-flow-entitlement \ --flow-arn arn:aws:mediaconnect:us-east-1:111122223333:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:BaseballGame \ --entitlement-arn arn:aws:mediaconnect:us-west-2:111122223333:entitlement:1-11aa22bb11aa22bb-3333cccc4444:AnyCompany_Entitlement \ --description 'For AnyCompany Affiliate' \ --subscribers 777788889999

出力:

{ "FlowArn": "arn:aws:mediaconnect:us-east-1:111122223333:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:BaseballGame", "Entitlement": { "Name": "AnyCompany_Entitlement", "Description": "For AnyCompany Affiliate", "EntitlementArn": "arn:aws:mediaconnect:us-west-2:111122223333:entitlement:1-11aa22bb11aa22bb-3333cccc4444:AnyCompany_Entitlement", "Encryption": { "KeyType": "static-key", "Algorithm": "aes128", "RoleArn": "arn:aws:iam::111122223333:role/MediaConnect-ASM", "SecretArn": "arn:aws:secretsmanager:us-west-2:111122223333:secret:mySecret1" }, "Subscribers": [ "777788889999" ] } }

詳細については、「AWS Elemental MediaConnect User Guide」の「Updating an Entitlement」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateFlowEntitlement」を参照してください。

次のコード例は、update-flow-output を使用する方法を示しています。

AWS CLI

フローの出力を更新するには

次の update-flow-output の例では、指定されたフローの出力を更新します。

aws mediaconnect update-flow-output \ --flow-arn arn:aws:mediaconnect:us-east-1:111122223333:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:BaseballGame \ --output-arn arn:aws:mediaconnect:us-east-1:111122223333:output:2-3aBC45dEF67hiJ89-c34de5fG678h:NYC \ --port 3331

出力:

{ "FlowArn": "arn:aws:mediaconnect:us-east-1:111122223333:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:BaseballGame", "Output": { "Name": "NYC", "Port": 3331, "Description": "NYC stream", "Transport": { "Protocol": "rtp-fec", "SmoothingLatency": 100 }, "OutputArn": "arn:aws:mediaconnect:us-east-1:111122223333:output:2-3aBC45dEF67hiJ89-c34de5fG678h:NYC", "Destination": "192.0.2.12" } }

詳細については、「AWS Elemental MediaConnect User Guide」の「Updating Outputs on a Flow」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateFlowOutput」を参照してください。

次のコード例は、update-flow-source を使用する方法を示しています。

AWS CLI

既存のフローのソースを更新するには

次の update-flow-source の例では、既存のフローのソースを更新します。

aws mediaconnect update-flow-source \ --flow-arn arn:aws:mediaconnect:us-east-1:111122223333:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:AwardsShow \ --source-arn arn:aws:mediaconnect:us-east-1:111122223333:source:3-4aBC56dEF78hiJ90-4de5fG6Hi78Jk:ShowSource \ --description 'Friday night show' \ --ingest-port 3344 \ --protocol rtp-fec \ --whitelist-cidr 10.24.34.0/23

出力:

{ "FlowArn": "arn:aws:mediaconnect:us-east-1:111122223333:flow:1-23aBC45dEF67hiJ8-12AbC34DE5fG:AwardsShow", "Source": { "IngestIp": "34.210.136.56", "WhitelistCidr": "10.24.34.0/23", "Transport": { "Protocol": "rtp-fec" }, "IngestPort": 3344, "Name": "ShowSource", "Description": "Friday night show", "SourceArn": "arn:aws:mediaconnect:us-east-1:111122223333:source:3-4aBC56dEF78hiJ90-4de5fG6Hi78Jk:ShowSource" } }

詳細については、「AWS Elemental MediaConnect User Guide」の「Updating the Source of a Flow」を参照してください。

  • API の詳細については、「AWS CLI コマンドリファレンス」の「UpdateFlowSource」を参照してください。