本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
构建媒体串联管道
您需要按照多步骤流程创建 Amazon SDK Chime 媒体串联管道。以下步骤描述了此过程。
-
创建 Amazon S3 存储桶以用作媒体捕获管道的数据接收器,然后配置存储桶策略。有关为 Amazon S3 存储桶启用服务器端加密的信息,请参阅本指南中的为 Amazon S3 存储桶启用服务器端加密。如果您创建了用于媒体捕获管道的 Amazon S3 存储桶,则必须将
s3:GetObject
和s3:ListBucket
操作添加到该存储桶的策略中。s3:ListBucket
操作需要对存储桶本身的访问权限。其他操作需要存储桶中对象的访问权限。您必须使用两个不同的 Amazon 资源名称 (ARNs) 来指定存储桶级和对象级权限。以下示例显示了存储桶策略。根据需要复制并粘贴此示例。
{ "Version": "2012-10-17", "Id": "AWSChimeMediaCaptureBucketPolicy", "Statement": [ { "Sid": "AWSChimeMediaCaptureBucketPolicy", "Effect": "Allow", "Principal": { "Service": [ "mediapipelines.chime.amazonaws.com" ] }, "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::[
Bucket-Name
]/*", "arn:aws:s3:::[Bucket-Name
]" ], "Condition": { "StringEquals": { "aws:SourceAccount": "[Account-Id
]" }, "ArnLike": { "aws:SourceArn": "arn:aws:chime:*:[Account-Id
]:*" } } } ] } -
创建一个 Amazon Amazon S3 存储桶以用作媒体连接管道的数据接收器,然后配置存储桶策略。有关为 Amazon S3 存储桶启用服务器端加密的信息,请参阅本指南中的为 Amazon S3 存储桶启用服务器端加密。
以下示例显示了该策略。
{ "Version": "2012-10-17", "Id": "AWSChimeMediaConcatenationBucketPolicy", "Statement": [ { "Sid": " AWSChimeMediaConcatenationBucketPolicy ", "Effect": "Allow", "Principal": { "Service": [ "mediapipelines.chime.amazonaws.com" ] }, "Action": [ "s3:PutObject", "s3:PutObjectAcl", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::[
Bucket-Name
]/*", "arn:aws:s3:::[Bucket-Name
]" ], "Condition": { "StringEquals": { "aws:SourceAccount": "[Account-Id
]" }, "ArnLike": { "aws:SourceArn": "arn:aws:chime:*:[Account-Id
]:*" } } } ] }注意
您可以将单个 Amazon S3 存储桶用于媒体捕获和媒体连接管道。但是,如果您这样做,则必须将
s3:GetObject
和s3:ListBucket
的访问权限添加到步骤 2 中所示的媒体串联存储桶策略中。如果您不希望串联存储桶策略拥有这些权限,则为每个管道创建单独的存储桶。 -
使用 CreateMediaCapturePipelineAPI创建媒体捕获管道。作为其中的一部分,获取管道ARN。有关获取的信息ARN,请参阅了解 Amazon Chime SDK 媒体捕获管道的创建。您将在下一步ARN中使用。
-
使用 CreateMediaConcatenationPipelineAPI来创建串联管道。
以下示例显示请求主体。这些区域有:
Path
字段是可选的,它默认为连接管道的 ID。注意
您必须使用最近 30 天内创建的
MediaPipelineArn
。{ "Sources": [ { "Type": "MediaCapturePipeline", "MediaCapturePipelineSourceConfiguration": { "MediaPipelineArn": "
Media_Pipeline_Arn
", //must be <30 days old "ChimeSdkMeetingConfiguration": { "ArtifactsConfiguration": { "Audio": { "State": "Enabled" }, "Video": { "State": "Enabled | Disabled" }, "Content": { "State": "Enabled | Disabled" }, "DataChannel": { "State": "Enabled | Disabled" }, "TranscriptionMessages": { "State": "Enabled | Disabled" }, "MeetingEvents": { "State": "Enabled | Disabled" }, "CompositedVideo": { "State": "Enabled | Disabled" } } } } } ], "Sinks": [ { "Type": "S3Bucket", "S3BucketSinkConfiguration": { "Destination": "arn:aws:s3:::[Bucket_Name
]/[Path
]" } } ] }每当捕获管道停止时,串联就会开始。串联管道在完成串联后停止。