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

Interesting Posts

не может импортировать рабочую книгу в openpyxl

Python: Итерировать определенное количество раз, не сохраняя номер итерации в любом месте

Как загрузить элементы внешних ключей в Tastypie

Как отправить настраиваемый заголовок с urllib2 в HTTP-запросе?

Pandas Python – может использоваться с векторизованными входами

Чтение форматированных чисел FORTRAN с помощью Python

Преобразование временных меток со смещением в datetime obj с использованием strptime

Как я могу перебирать файлы в заданном каталоге?

Pytest: как пропустить остальные тесты в классе, если один из них не прошел?

В Python я могу выделить одну строку для цикла через итератор с фильтром IF?

используя шаблоны базового макета в хамелеоне

Как сохранить request.form в db через wtforms или ошибку в sqlalchemy update?

Как получить только последнюю часть пути в Python?

Установка мультимодальных распределений

Python: QWidget: должен создать QApplication перед QPaintDevice

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