У слоя AWS Lambda нет разрешения на выполнение

Я создаю лямбда-лямбду для Python Runtime (совместим с 3.6 и 3.7), который содержит исполняемый файл bin (texlive)

Но когда я пытаюсь выполнить это через subprocess.run он говорит, что у него нет прав на исполнение!

Как сделать так, чтобы у этого слоя были разрешения на выполнение? Я заархивировал файлы слоев в Windows 10, поэтому не уверен, как добавить разрешение на выполнение Linux.

Кроме того, насколько я знаю, когда вы распаковываете файл, он "сбрасывает" разрешения, поэтому, если AWS не устанавливает разрешения на выполнение при разархивировании моих слоев, что я могу сделать?

Кстати, я загружаю свой слой через консоль aws

1 ответ

Я установил WSL в Windows 10 и заархивировал свой слой с помощью исполняемого файла zip из Ubuntu:

      zip -r importtime_wrapper_layer.zip .

Он создал zip-файл, в котором сохранились права доступа к файлу 755 для моего сценария.

Я смог увидеть, что правильные атрибуты присутствовали с помощью 7zip, и среда выполнения Lambda смогла его выполнить.

Другие вопросы по тегам