Удаление файла после перекодирования с помощью 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 .

  • Многопроцессор Python с использованием пула не работает на AWS Ubuntu
  • Как выполнять команды в экземпляре AWS с помощью Boto3
  • Команды развертывания времени внутри Docker на эластичном бобовом стебле
  • Как читать csv, хранящийся в S3 с помощью csv.DictReader?
  • Не удалось импортировать grequests для AWS Lambda
  • Boto3 S3, сортировочный ковш по последнему измененному
  • Могу ли я обновить старые версии AP и setuptools от Amazon?
  • Django-хранилища, не обнаруживающие измененные статические файлы
  • Amazon S3 Python S3Boto 403 Запрещен, когда подпись имеет знак «+»
  • Отправить Raw Email (с приложением) нескольким получателям
  • Ресурсы и клиенты Boto3 эквивалентны? Когда используете одно или другое?
  • Python - лучший язык программирования в мире.