Привет! Мне нужно знать, как получить доступ к файлу, который хранится в слое AWS.
Я использую Lambda Ghost Script и PDF2IMG Lambda Friendly , чтобысоздавать PDF-метки.
Я был использован для сжатия всех файлов в один ZIP-файл и загружен в AWS Lambda (его размер около 50 МБ), и он имел следующую структуру:
- /node_modules / => Здесь pdf2img-lambda-friendly
- / lambda-ghostscript / => Вот библиотека ghostscript, используемая pdf2img
- / assets /
- / index.js
До уровней AWS развертывание было ужасным, поскольку я не мог вносить изменения непосредственно в AWS из-за огромного размера пакета.
После уровней AWS я мог разделить все библиотеки (node_modules) и положить их в слой, который уменьшил размер моей упаковки.Я пытался сделать то же самое с папкой lambda-ghostscript, но библиотека pdf2img-lambda-friendly) не может связаться с ghostscript, я получаю ошибку ENOENT.
Я пытался с несколькими комбинациями слоев для«сохранить» приведенную выше структуру, даже поместив GhostScript в отдельный слой, но он не сработал.
Это структуры слоев, которые я пробовал:
1) Один слой:
/ nodejs / node_modules / / nodejs / lambda-ghostcript /
2) Два разных слоя:
/ nodejs / node_modules /
/ nodejs / lambda-ghostscript /
Лучшее, что я мог сделать, это поместить все библиотеки в слой и сохранить код и GhostScript в лямбде,и это работает, но это не решает мою проблему развертывания, так как это все еще огромный пакет, и я не могу редактировать код в Консоли AWS.
Я хотел бы оставить только мой код в лямбда-выражении и отделить остальныебиблиотек и скриптов, чтобы я мог вносить изменения в AWКонсоль S, но я не знаю, возможно ли это с уровнями AWS.
Заранее спасибо.