此问题可能是由于Lambda无法找到容器镜像中的启动脚本引起的。可以将启动脚本复制到Lambda函数的根目录中,以便Lambda函数可以找到它。以下是示例代码:
import subprocess
import shutil
def lambda_handler(event, context):
# 在容器中运行R脚本
cmd = ["Rscript", "/path/to/script.R"]
subprocess.run(cmd, check=True)
# 复制启动脚本到Lambda函数根目录
shutil.copy('/path/to/bootstrap', '/var/task/')
其中,/path/to/bootstrap
是容器镜像中的启动脚本位置,/path/to/script.R
是要运行的R脚本位置。在Lambda函数执行之前,启动脚本将被复制到Lambda函数的根目录(即/var/task/
),以便Lambda函数可以找到它并正常启动容器。