Как вы подключаетесь к AWS Elastic Transcoder?

Я пытаюсь перекодировать некоторые видео, но что-то не так с подключением.

Вот мой код:

transcode = layer1.ElasticTranscoderConnection()
transcode.DefaultRegionEndpoint = 'elastictranscoder.us-west-2.amazonaws.com'
transcode.DefaultRegionName = 'us-west-2'
transcode.create_job(pipelineId, transInput, transOutput)

Вот исключение:

{u'message': u'The specified pipeline was not found: account=xxxxxx, pipelineId=xxxxxx.'}

2 ответа

Решение

Чтобы подключиться к определенному региону в boto, вы можете использовать:

import boto.elastictranscoder
transcode = boto.elastictranscoder.connect_to_region('us-west-2')
transcode.create_job(...)

Я только начал использовать boto на днях, но предыдущий ответ не сработал для меня - не знаю, изменился ли API или что (кажется немного странным, если это так, но в любом случае). Вот как я это сделал.

#!/usr/bin/env python

# Boto
import boto

# Debug
boto.set_stream_logger('boto')

# Pipeline Id
pipeline_id = 'lotsofcharacters-393824'

# The input object
input_object = {
    'Key': 'foo.webm',
    'Container': 'webm',
    'AspectRatio': 'auto',
    'FrameRate': 'auto',
    'Resolution': 'auto',
    'Interlaced': 'auto'
}

# The object (or objects) that will be created by the transcoding job;
# note that this is a list of dictionaries.
output_objects = [
    {
        'Key': 'bar.mp4',
        'PresetId': '1351620000001-000010',
        'Rotate': 'auto',
        'ThumbnailPattern': '',
    }
]

# Phone home
# - Har har.
et = boto.connect_elastictranscoder()

# Create the job
# - If successful, this will execute immediately.
et.create_job(pipeline_id, input_name=input_object, outputs=output_objects)

Очевидно, что это надуманный пример, и он запускается только из отдельного скрипта Python; он предполагает, что у вас есть файл.boto с вашими учетными данными.

Еще одна вещь, которую стоит отметить, это PresetId's; Вы можете найти их в Консоли управления AWS для Elastic Transcoder, в разделе Presets. Наконец, значения, которые можно вставить в словари, дословно взяты из следующей ссылки - насколько я могу судить, они просто интерполируются в вызов REST (очевидно, чувствителен к регистру).

AWS Create Job API

Другие вопросы по тегам