【问题标题】:AWS Lambda function running custom executable运行自定义可执行文件的 AWS Lambda 函数
【发布时间】:2018-09-04 19:53:03
【问题描述】:

我需要运行自定义文件解析器来实时解析传入文件以供上游使用。解析器是一个可执行文件并接受一些参数。我编写了以下 lambda 测试函数:

import subprocess, sys
import os

def lambda_handler(event, context):
    path = os.environ['LAMBDA_TASK_ROOT']
    subprocess.call([path+'/*exefile*',*args*])

但是我得到一个错误,即使没有任何输入,这意味着它与在 lambda 环境中写入新文件无关:

PermissionError errno13 Permission denied

在我看来,它根本不允许运行可执行文件。对于 IAM 角色,我已授予它完整的 lambda 访问权限。自定义 exe 文件不是为 linux 编译的,但如果这是问题,我不会收到另一个错误吗?

帮助表示赞赏!

【问题讨论】:

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


    【解决方案1】:

    根据这个AWS blog post,它需要为亚马逊的 Linux 编译:

    如果您编译自己的二进制文件,请确保它们是 为 Amazon Linux 的匹配版本静态链接或构建。 AWS Lambda 中使用的当前版本的 Amazon Linux 可以 始终可以在 Lambda 文档的 Supported Versions 页面上找到。

    【讨论】:

    • 好的,谢谢,虽然这个问题可能会产生不同的错误。
    猜你喜欢
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 2016-10-16
    • 2021-06-05
    • 1970-01-01
    • 2017-09-05
    • 2019-07-09
    • 2019-12-13
    相关资源
    最近更新 更多