Как файлы в лямбда-слое будут скопированы в каталог / opt / bin? - PullRequest
0 голосов
/ 20 сентября 2019

Я работаю с проектом преобразования PDF в изображения в AWS Lambda, но у меня возникли некоторые проблемы, так как в среде AWS lambda нет соответствующих двоичных файлов, таких как ImageMagick, затем я перешел по некоторым ссылкам и задал вопрос StackOverflow и поставилсоответствующие двоичные файлы в качестве слоя, для работы мне пришлось использовать Ghostscript скомпилированные двоичные файлы.

ZIP-файл слоя содержит такие файлы

GhostScript.zip> bin> gs

У меня есть вызов библиотеки-оболочки pdf2png, и он выполнит дочерний процесс, который выполняет преобразование, команда, которую этот дочерний процесс использует, - это вышеупомянутая gs utitity, но моя проблемапуть, который я упомянул для утилиты, неправильный, он выдает ошибку:

Ошибка: spawn / opt / bin / bin / gs ENOENT

Итак, я хочу знать, как файлы лямбда-слоя будут скопированы в каталог /opt/bin/?как заменить путь?

Соответствующий код,

gs()
    .batch()
    .nopause()
    .option('-r' + options.density)
  // .option('-dDownScaleFactor=2')
    .option('-dFirstPage=' + page)
    .option('-dLastPage=' + page)


    .executablePath('/opt/bin/bin/gs')


    .device('png16m')
    .output(output)
    .input(filepath)
    .exec(function (err, stdout, stderr) {

1 Ответ

0 голосов
/ 20 сентября 2019

Путь к исполняемому файлу в моем случае должен быть таким:

.executablePath('/opt/bin/gs')

Извлечены файлы из папки bin внутри слоя в папку /opt/bin/ напрямую.

...