clamav 在将 Lambda RuntimeVersion 升级到 3.11 时抛出错误

clamav is throwing error while upgrading lambda runtimeversion to 3.11

提问人:vinay jha 提问时间:11/14/2023 最后编辑:vinay jha 更新时间:11/14/2023 访问量:38

问:

def current_library_search_path()
    ld_verbose = check_output(["ld", "--verbose"]).decode("utf-8")
    rd_ld = re.compile("SEARCH_DIR\(\"([A-z0-9/-]*)\"\)")
    return rd_ld.findall(ld_verbose)
[ERROR] FileNotFoundError: [Errno 2] No such file or directory: 'ld'
Traceback (most recent call last):
  File "/var/task/update.py", line 43, in lambda_handler
    clamav.update_defs_from_freshclam(AV_DEFINITION_PATH, CLAMAVLIB_PATH)
  File "/var/task/clamav.py", line 100, in update_defs_from_freshclam
    fc_env["LD_LIBRARY_PATH"] = "%s:%s" % (":".join(current_library_search_path()), CLAMAVLIB_PATH)

截至目前,该代码适用于 Lambda 运行时 3.7,但不适用于运行时 3.8/3.9/3.10/3.11 由于 EOL 临近,我们需要将其升级到 3.11(AWS 推荐)。

最近有没有人遇到过这个问题,修复方法是什么。

我们使用以下代码 - https://github.com/bluesentry/bucket-antivirus-function

蟒蛇 aws-lambda python-3.11 clamav

评论


答:

0赞 Nazmul 12/5/2023 #1

我的方法是完全避免使用该部件,事实证明它对我有效。ld

我已经替换了这个:

fc_env["LD_LIBRARY_PATH"] = "%s:%s" % (":".join(current_library_search_path()), CLAMAVLIB_PATH)

跟:

fc_env["LD_LIBRARY_PATH"] = "%s:%s" % (fc_env["LD_LIBRARY_PATH"], CLAMAVLIB_PATH)