Удаление файла после перекодирования с помощью AWS Lambda и Elastic Transcoder

Я использую скрипт python Lambda для вызова Elastic Transcoder в файле, который я загружаю. Как удалить файл после перекодирования?

На данный момент мой код создает задание, а затем сразу же удаляет исходный файл, т. Е. До того, как у задания даже есть шанс на запуск. 🙂

Как я могу дождаться завершения Elastic Transcode?

import os import boto3 import urllib def lambda_handler(event, context): transcoder = boto3.client('elastictranscoder', 'ap-southeast-2') pipeline_id = get_pipeline(transcoder, 'MP4 Transcode') base_filename = os.path.basename(event['Records'][0]['s3']['object']['key']) output = transcoder.create_job( PipelineId=pipeline_id, Input={ 'Key': create_aws_filename('uploads', base_filename, ''), 'FrameRate': 'auto', 'Resolution': 'auto', 'AspectRatio': 'auto', 'Interlaced': 'auto', 'Container' : 'auto' }) bucket = event['Records'][0]['s3']['bucket']['name'] key = urllib.unquote_plus(event['Records'][0]['s3']['object']['key']) print("deleting " + key) boto3.client('s3').delete_object(Bucket=bucket, Key=key) 

One Solution collect form web for “Удаление файла после перекодирования с помощью AWS Lambda и Elastic Transcoder”

Вы в основном должны опросить Elastic Transcoder для статуса работы (например, каждые 30 секунд) и дождаться завершения задания. После завершения задания вы можете удалить исходный файл S3.

Используя boto3, вы можете получить статус задания следующим образом:

 transcoder = boto3.client('elastictranscoder') job = transcoder.read_job(Id=job_id) status = job['Job']['Status'] 

Или, альтернативно, вы можете использовать официанта job_complete .

  • Веб-службы Amazon: python или ruby?
  • Переход от RabbitMQ к Amazon SQS
  • Ошибка при запуске awscli
  • Разрешения Amazon S3
  • Какие порты используют ПП?
  • Загрузка изображения: iPhone-клиент - Django - S3
  • AWS Elastic Beanstalk не использует мой virtualenv: «Без модуля с именем boto»
  • Получение тегов из экземпляров AWS с помощью boto
  •  
    Interesting Posts for Van-Lav

    Невозможно создать экземпляр virtualenv в python 2.7.5 из-за ошибки установки pip

    Установка Python Fabric на Windows

    Легкий способ преобразования списка юникодов в список, содержащий строки python?

    Почему int (maxint) дает длинный, но int (int (maxint)) дает int? Это ошибка NumPy?

    Одна карта с двумя разными диапазонами оси Y в Боке?

    subprocess.Popen в другой консоли

    400 при загрузке файла из sharepoint rest api

    Как может Selenium пакет много isElementDisplayed звонки?

    В чем разница между конструктором и инициализатором в python?

    Извлечь средний кадр видео в Python с помощью ffmpeg?

    Загрузка большего содержимого на веб-страницу и проблемы с записью в файл

    Почему Python разрешает простую запятую в списке?

    Где символы амперсанда и вертикальной строки, используемые в Python?

    Python – проверка того, является ли один список подмножеством другого

    как получить первый элемент и последний элемент, используя django, Location.objects.all ()

    Python - лучший язык программирования в мире.