проблема: Я не могу указать файл, который вызывает событие. Цель состоит в том, чтобы добавить водяной знак в загруженные видео файлы Я успешно сделал это с помощью эластичного транскодера, создав конвейер и задание, но теперь цель состоит в том, чтобы автоматизировать этот процесс после загрузки файлов.
Теперь я хочу автоматизировать этот процесс при загрузке файлов в корзину s3.
Это моя попытка (объясню мою проблему после кода):
require 'json'
require 'aws-sdk-elastictranscoder'
require "aws-sdk-s3"
def lambda_handler(event:, context:)
client = Aws::ElasticTranscoder::Client.new(region: 'us-east-1')
s3 = Aws::S3::Resource.new()
# object = s3.bucket(bucket_name).object(object_name)
# bucket_name = event["s3"]["bucket"]["name"]
# object_name = event["s3"]["object"]["key"]
resp = client.create_job({
pipeline_id: "1552343938210-qevnz1", # required
input: {
key: "#{s3}",
},
output: {
key: "#{s3}",
preset_id: "1351620000001-000001",
watermarks: [
{
preset_watermark_id: "TopRight",
input_key: "uploads/listing/image/10/listing_howard-stern.jpg",
},
],
}
})
end
см., Где:
key: "#{s3}",
},
Здесь у меня проблемы. Я не уверен, как вызвать точный файл, который вызывает событие. Я хочу, чтобы файл, который загружается, имел водяной знак, добавленный к нему, и затем выводил его в то же имя файла в том же месте.
это возвращает меня:
input=#<Aws::S3::Resource:0x000055bc11bb4388>\
и ничего не происходит, задание не выполняется из-за того, что ввод не указан.
Как я могу определить или указать файл?
Я пока не могу найти способ.