Вам просто нужно установить событие в s3 bucket - put object - для запуска лямбда-функции (вы получите доступ к описанию объекта, загруженного в этот s3-сегмент через первый параметр лямбда-функции). [118 ]
Если вы можете преобразовать видеофайл в аудио на вашем локальном компьютере, используя некоторые внешние библиотеки, то вам нужно создать zip-файл, содержащий вашу лямбда-функцию (в корне zip-файла), а также зависимости.
Это довольно просто в случае с Node. Создайте новую папку, запустите npm init
, установите необходимые модули, создайте файл index.js, куда вы поместите свой код Node. Zip все содержимое этой папки (не сама папка). Когда вы создаете новую лямбда-функцию, выберите загрузку этого zip-файла.
Если вам интересно, как программно взаимодействовать с ресурсами AWS и манипулировать ими, отметьте aws-sdk
, который вы можете импортировать как модуль, и использовать его для этой цели.
Так что в основном вам нужно внутри вашей лямбда-функции проанализировать аргумент event
(первый параметр) для получения корзины и ключа загруженного объекта. Затем вы вызовете метод s3.getObject
для получения данных. Обработайте данные с вашей собственной логикой. Вызовите s3.putObject
, чтобы сохранить вновь преобразованные данные в новом местоположении S3.
Lambda имеет доступ к собственной локальной файловой системе, если ваш код должен хранить там некоторые данные. Вам просто нужно указать абсолютный путь к файлу, например /tmp/output.mp3
. Чтобы получить его, вы можете использовать модуль fs
. Затем вы можете продолжить с s3.putObject
.