Vip*_*ove 6 amazon-web-services docker aws-lambda
我在 lambda 上使用 docker 容器映像来运行我的 ML 模型。我的 lambda 函数有一个 S3 触发器来获取图像。我正在尝试运行 lambda 函数,但收到此错误。有人可以帮帮我吗?

PS - 现在我知道 /tmp 是 lambda 中唯一可写的目录,但如何解决这个问题?
Rap*_*tin 12
正如其他人提到的,/tmp无论是否使用容器,它都是任何 AWS Lambda 环境中唯一可写的目录。
话虽如此,您应该将整个库(在 lambda 运行时期间 -在容器映像构建期间不起作用)移动到该目录 - 这样库内的所有内容都保持连接 - 然后在中引用您的新库目录Lambda 的库路径环境:LD_LIBRARY_PATH
应在 Lambda 的库路径环境中引用新的库目录,因为 Lambda/opt/默认情况下会查看该目录;由于您刚刚将库移至/tmp,因此您还应该更新LD_LIBRARY_PATH以包含该位置。这可以在 Dockerfile 中完成:
# Set the LD_LIBRARY_PATH
ENV LD_LIBRARY_PATH="/opt/my-lib-folder/:$LD_LIBRARY_PATH"
Run Code Online (Sandbox Code Playgroud)
或者在 Lambda 运行时:
os.environ['LD_LIBRARY_PATH'] = '/tmp/my-lib-folder:' + os.environ['LD_LIBRARY_PATH']
def lambda_handler(event, context):
# your code ...
Run Code Online (Sandbox Code Playgroud)
如果仍然存在问题,可能与您的库的链接问题有关,或者您没有LD_LIBRARY_PATH正确更新库。
编辑:正如 @rok 所指出的,您无法在容器映像构建期间移动库,因为该/tmp文件夹将被 AWS 自动删除。
| 归档时间: |
|
| 查看次数: |
5129 次 |
| 最近记录: |