使用 Step Functions 创建 AWS Elemental MediaConvert 任务
了解如何使用 Step Functions 通过 CreateJob API 来创建 AWS Elemental MediaConvert 任务。
使用 Step Functions 和 MediaConvert 进行实验
了解如何在工作流程中使用 MediaConvert 优化的集成,此工作流程从视频剪辑的开头检测和移除长度未知的 SMTPE 色条。阅读 2024 年 4 月 12 日的博客文章:Low code workflows with AWS Elemental MediaConvert
要了解如何在 Step Functions 中与 Amazon 服务集成,请参阅集成 服务和在 Step Functions 中将参数传递给服务 API。
经优化的 MediaConvert 集成的主要功能
支持运行作业 (.sync)和请求响应集成模式。
Step Functions 会将以下自定义标签添加到 MediaConvert 作业中:
ManagedByService: AWSStepFunctions没有针对等待具有任务令牌的回调集成模式的特定优化。
下面是一个提交 MediaConvert 作业并等待作业完成的 Task 状态。
{
"StartAt": "MediaConvert_CreateJob",
"States": {
"MediaConvert_CreateJob": {
"Type": "Task",
"Resource": "arn:aws:states:::mediaconvert:createJob.sync",
"Arguments": {
"Role": "arn:aws:iam::111122223333:role/Admin",
"Settings": {
"OutputGroups": [
{
"Outputs": [
{
"ContainerSettings": {
"Container": "MP4"
},
"VideoDescription": {
"CodecSettings": {
"Codec": "H_264",
"H264Settings": {
"MaxBitrate": 1000,
"RateControlMode": "QVBR",
"SceneChangeDetect": "TRANSITION_DETECTION"
}
}
},
"AudioDescriptions": [
{
"CodecSettings": {
"Codec": "AAC",
"AacSettings": {
"Bitrate": 96000,
"CodingMode": "CODING_MODE_2_0",
"SampleRate": 48000
}
}
}
]
}
],
"OutputGroupSettings": {
"Type": "FILE_GROUP_SETTINGS",
"FileGroupSettings": {
"Destination": "s3://amzn-s3-demo-destination-bucket/"
}
}
}
],
"Inputs": [
{
"AudioSelectors": {
"Audio Selector 1": {
"DefaultSelection": "DEFAULT"
}
},
"FileInput": "s3://amzn-s3-demo-bucket/DOC-EXAMPLE-SOURCE_FILE"
}
]
}
},
"End": true
}
}
}Step Functions 中的参数以 PascalCase 表示
即使原生服务 API 采用 camelCase(例如 API 操作 startSyncExecution),也可以采用 PascalCase 指定参数,例如:StateMachineArn。
经优化的 MediaConvert API
-
-
支持的参数:
-
Role(必填) -
Settings(必填) -
CreateJobRequest(可选)
-
-
Response syntax:请参阅 CreateJobResponse 架构
用于调用 AWS Elemental MediaConvert 的 IAM 策略
以下示例模板展示了 Amazon Step Functions 如何根据状态机定义中的资源生成 IAM 策略。有关更多信息,请参阅Step Functions 如何为集成服务生成 IAM 策略和探索 Step Functions 中的服务集成模式。
GetJob 和 CancelJob 操作的 IAM 策略的范围限定为仅允许访问带有 ManagedByService: AWSStepFunctions 标签的作业。
基于标签的策略
修改自动生成的 ManagedByService: AWSStepFunctions 标签将导致状态机执行失败。