无服务器:使用其他AWS账户中的图层,如何实现?

问题描述 投票:0回答:1

我正在尝试部署和使用无服务器功能,该功能使用由AWS创建的包含NumPy and SciPy的层

我的Servelerless.yml文件的相关部分:

functions:
  pricing:
    handler: handler.pricing
    layers:
      - arn:aws:lambda:eu-west-1:399891621064:layer:AWSLambda-Python36-SciPy1x:2

当我运行sls deploy然后检查Lambda控制台时,我可以看到该层在函数旁边,但是当我尝试调用我的Lambda时,我得到了错误:

[ERROR] Runtime.ImportModuleError: Unable to import module 'handler': No module named 'numpy'

我的handler.py文件的相关行:

import numpy as np

编辑:更奇怪的是,在Lambda控制台中,如果我删除对AWS发布层的引用(看上去完全相同),然后选择“添加层”按钮并选择完全相同的层(相同的ARN),则一切作品。enter image description here

python-3.x aws-lambda serverless-framework serverless
1个回答
0
投票
[好,所以我设法使其正常工作,我认为问题是python版本,我使用3.6引用的基于arn的cipy库以及我引用3.7的serverless.yml文件不匹配。

下一步是弄清楚如何获得

无服务器调用本地-f myfunction --docker

在我的虚拟环境中可以正常工作,以便可以在本地运行和测试。

© www.soinside.com 2019 - 2024. All rights reserved.