Метаданные объекта S3 чем-то отличаются от метаданных аудио.
Подумайте так: все, что вы помещаете на S3, является объектом. Этот объект имеет ключ (имя) и некоторые метаданные, прикрепленные к нему по умолчанию S3, а также другие метаданные, которые вы можете прикрепить к нему. Все эти вещи объясняются здесь .
Метаданные аудиофайлов - это другое дело. Они находятся внутри файла (допустим, это mp3-файл). Чтобы получить доступ к этим данным, вам необходимо прочитать файл с помощью api, который знает формат файла и способы извлечения данных.
Когда вы загружаете файл в s3, он не извлекает никаких данных и не прикрепляет их к метаданные вашего объекта (исполнитель, номер трека и т. д. c из файлов mp3). Вам нужно сделать это самостоятельно.
Предлагаемое решение: для каждого файла, который вы загружаете в s3, загрузка запускает лямбда-функцию, которая знает, как извлечь метаданные аудио из файла. Затем он извлечет эти метаданные и сохранит их в DynamoDB вместе с именем объекта в s3. После этого вы можете запросить свою таблицу с поиском, который вы запланировали, и после того, как нашли запись, укажите на правильный объект в s3.
В этом предложении вы также можете запустить его для всех объектов, уже существующих в s3 ведро, чтобы не требовать новой загрузки.