#c #node.js #linux #amazon-web-services #aws-lambda
#c #node.js #linux #amazon-веб-сервисы #aws-lambda
Вопрос:
Пытаюсь создать функцию, основанную на NodeJS, которая запускает скомпилированный код на C . Код C требовал от меня установки определенных пакетов Linux с использованием ‘yum’ для запуска.
NodeJS и части C отлично работают при запуске в Docker, потому что в DockerFile я могу установить все необходимые зависимости Linux, которые требует код C , используя команду ‘yum’ перед выполнением приложения.
При запуске под Lambda я не знаю, как сообщить запущенному контейнеру установить эти пакеты Linux, чтобы C запускался и был успешно загружен NodeJS.
Я пытаюсь создать функцию на основе среды выполнения NodeJS со всем своим кодом и добавить пользовательский уровень времени выполнения перед загрузкой функции, который может устанавливать все зависимости в ОС (не зависимости NodeJS — зависимости ОС Linux). Я попытался создать пользовательскую функцию времени выполнения, но не понял, как все подключить и как она должна (если возможно) подключаться к самой функции, даже после настройки версии layer для функции.
Кто-нибудь знает, как это может быть достигнуто?
Комментарии:
1. «Я прочитал это» — где вы прочитали? Есть ссылка? Вы не можете изменять среду выполнения lambda, как вы можете, с помощью собственного контейнера, который включает установку любых пакетов на нем. Ваше приложение должно быть самодостаточным и содержать все зависимости само по себе или через слои.
2. @Marcin Я исправил вопрос. Я прочитал много статей и документацию AWS, я просто не смог найти то, о чем я прошу, вот что я имел в виду. Я понимаю, что она должна быть самодостаточной. Я должен предоставить все зависимости от предоставленного ZIP-файла. Насколько я понимаю, это цель создания пользовательской функции времени выполнения. Возможно ли создать слой с пользовательской средой выполнения, а сама функция основана на NodeJS?