Как вы подключаетесь к 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 (очевидно, чувствителен к регистру).