【问题标题】:AWS Lambda layer has no execute permissionAWS Lambda 层没有执行权限
【发布时间】:2019-08-17 21:59:23
【问题描述】:

我为 Python 运行时(3.6 和 3.7 兼容)创建了一个 lambda lambda,其中包含一个 bin 可执行文件 (texlive)

但是当我尝试通过subprocess.run 执行它时,它说它没有执行权限!

我怎样才能使这一层具有执行权限?我在 Windows 10 上压缩了图层文件,所以我不确定如何添加 Linux 执行权限。

此外,据我所知,当您解压缩文件时,它会“重置”权限,所以如果 AWS 在解压缩我的图层时没有设置执行权限,我该怎么办?

顺便说一句,我正在通过 aws 控制台上传我的图层

【问题讨论】:

  • 层zip文件夹结构是什么?
  • 我试过//bin/lib,没啥区别,好像继承了zip里面的权限
  • 图层实际上在/opt 文件夹中可用。您可以在这篇博文中找到更多相关信息:medium.com/@adhorn/…
  • @RepakulaSrushith 我知道,这与问题无关。

标签: amazon-web-services aws-lambda aws-lambda-layers


【解决方案1】:

我在 Windows 10 上安装了 WSL,并使用 Ubuntu 中的 zip 可执行文件压缩了我的层:

zip -r importtime_wrapper_layer.zip .

它创建了一个 zip 文件,保留了我脚本的 755 文件权限。

我能够使用 7zip 查看正确的属性,并且 Lambda 运行时能够执行它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 2019-10-14
    • 2020-07-23
    • 2021-09-25
    • 2021-02-20
    • 1970-01-01
    • 2020-03-17
    相关资源
    最近更新 更多