Nao000のぶろぐ

蝶を追っている少年になりたい

PythonでAWS MediaConvertのジョブを作成する例

ChatGPTで「AWS Lambda で MediaConvert を実行する Pythonコードをみせて」と聞いて得られたコードの一部

import json
import boto3
import os

# MediaConvert クライアント作成
mediaconvert_client = boto3.client("mediaconvert")

# Lambda ハンドラー
def lambda_handler(event, context):
    # 入力ファイル(S3のパス)
    input_bucket = "入力バケット名"
    input_key = "ファイル名"
    input_s3_path = f"s3://{input_bucket}/{input_key}"

    # 出力ファイル(S3のパス)
    output_bucket = "出力バケット名"
    output_s3_path = f"s3://{output_bucket}"

    # MediaConvert のエンドポイント取得
    endpoints = mediaconvert_client.describe_endpoints()
    endpoint_url = endpoints["Endpoints"][0]["Url"]

    # MediaConvert の専用クライアントを作成
    mediaconvert = boto3.client("mediaconvert", endpoint_url=endpoint_url)

    # MediaConvert ジョブによって出力されるファイルの NameModifier
    job_settings_NameModifier = "出力ファイル名の末尾に付ける名前"

    # MediaConvert ジョブの設定
    job_settings = {
        ~MediaConvertのコンソール画面でポチポチで作成したジョブの1つをJSONコピーすればOK~
        ~上で定義した変数も織り交ぜる~
    }

    # MediaConvert ジョブを作成
    response = mediaconvert.create_job(**job_settings)
    print("MediaConvert Job Created:", response["Job"]["Id"])

    return {
        "statusCode": 200,
        "body": json.dumps({"message": "Job submitted", "jobId": response["Job"]["Id"]}),
    }