Step Functions を使用して AWS Elemental MediaConvertジョブを作成する - AWS Step Functions

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Step Functions を使用して AWS Elemental MediaConvertジョブを作成する

Step Functions を使用して CreateJob API を使用して AWS Elemental MediaConvertジョブを作成する方法について説明します。

Step Functions と MediaConvert を試す

長さが不明な SMTPE カラーバーを検出して動画クリップの先頭から削除するワークフローで MediaConvert 最適化統合を使用する方法について説明します。2024 年 4 月 12 日のブログ記事を読む: を使用したローコードワークフローAWS Elemental MediaConvert

Step Functions での AWSサービスとの統合については、 サービスとの統合「」および「」を参照してくださいStep Functions でサービス API にパラメータを渡す

最適化された MediaConvert 統合の主な機能

次に示しているのは、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 が、API アクション startSyncExecution などの camelCase である場合でも、StateMachineArn などの PascalCase でパラメータを指定します。

最適化された MediaConvert API

を呼び出すための IAM ポリシーAWS Elemental MediaConvert

次のサンプルテンプレートは、 がステートマシン定義のリソースに基づいて IAM ポリシーAWS Step Functionsを生成する方法を示しています。詳細については、「Step Functions が統合サービスの IAM ポリシーを生成する方法」および「Step Functions でサービス統合パターンを検出する」を参照してください。

GetJob および CancelJob アクションに関する IAM ポリシーは、ManagedByService: AWSStepFunctions タグ付きのジョブへのアクセスのみを許可するようにスコープ設定されています。

タグベースのポリシー

自動生成された ManagedByService: AWSStepFunctions タグを変更すると、ステートマシンの実行は失敗します。

Run a Job (.sync)
{ "Version":"2012-10-17", "Statement": [ { "Sid": "MediaConvertCreateJob", "Effect": "Allow", "Action": [ "mediaconvert:CreateJob" ], "Resource": [ "arn:aws:mediaconvert:us-east-1:123456789012:queues/*", "arn:aws:mediaconvert:us-east-1:123456789012:jobTemplates/*", "arn:aws:mediaconvert:us-east-1:123456789012:presets/*" ] }, { "Sid": "MediaConvertManageJob", "Effect": "Allow", "Action": [ "mediaconvert:GetJob", "mediaconvert:CancelJob" ], "Resource": "arn:aws:mediaconvert:us-east-1:123456789012:jobs/*", "Condition": { "StringEquals": { "aws:ResourceTag/ManagedByService": "AWSStepFunctions" } } }, { "Sid": "IamPassRole", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012:role/myRoleName" ], "Condition": { "StringEquals": { "iam:PassedToService": [ "mediaconvert.amazonaws.com" ] } } }, { "Sid": "EventBridgeManageRule", "Effect": "Allow", "Action": [ "events:PutTargets", "events:PutRule", "events:DescribeRule" ], "Resource": [ "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForMediaConvertJobRule" ] } ] }
Request Response
{ "Version":"2012-10-17", "Statement": [ { "Sid": "MediaConvertCreateJob", "Effect": "Allow", "Action": [ "mediaconvert:CreateJob" ], "Resource": [ "arn:aws:mediaconvert:us-east-1:123456789012:queues/*", "arn:aws:mediaconvert:us-east-1:123456789012:jobTemplates/*", "arn:aws:mediaconvert:us-east-1:123456789012:presets/*" ] }, { "Sid": "IamPassRole", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::123456789012:role/myRoleName" ], "Condition": { "StringEquals": { "iam:PassedToService": [ "mediaconvert.amazonaws.com" ] } } } ] }