Указание файла, который вызывает событие в лямбда-код - PullRequest
0 голосов
/ 13 марта 2019

проблема: Я не могу указать файл, который вызывает событие. Цель состоит в том, чтобы добавить водяной знак в загруженные видео файлы Я успешно сделал это с помощью эластичного транскодера, создав конвейер и задание, но теперь цель состоит в том, чтобы автоматизировать этот процесс после загрузки файлов.

Теперь я хочу автоматизировать этот процесс при загрузке файлов в корзину 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>\ и ничего не происходит, задание не выполняется из-за того, что ввод не указан.

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

Я пока не могу найти способ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...