2017-02-26 26 views
0

我在AWS控制檯得到一個錯誤,測試部署包時:在AWS Lambda中,爲什麼無法導入該功能的模塊?

enter image description here

{ 
"errorMessage": "Unable to import module 'lambda_function'" 
} 

的deployment-package.zip包含:

  • 一個python2.7 function.py
  • VIRTUAL_ENV/lib/python2.7/site-packages的內容(不是目錄本身)

我相信正確遵循包裝說明:

AWS's Developer Guide

在MacOS,我創建與Python2.7代碼.zip文件:

$ zip ../path/to/my/deployment-package.zip ./my_function.py  

然後添加virtualenv的模塊:

$ cd ../path/to/my/py2.7_virtualenv 
$ zip -ru ../path/to/deployment-package.zip * 

結果是一個.zip文件:

$ ls -l 
$ -rw-r--r-- 1 user staff 9036477 Feb 26 00:15 deployment-package.zip 

包含代碼和模塊:

$ unzip deployment-package.zip 
... 
$ ls 
deployment-package.zip  XlsxWriter-0.9.6.dist-info 
_markerlib     pip 
boto3      pip-7.1.0.dist-info 
boto3-1.4.4.dist-info  pkg_resources 
botocore     python_dateutil-2.6.0.dist-info 
botocore-1.5.18.dist-info s3transfer 
concurrent     s3transfer-0.1.10.dist-info 
dateutil     setuptools 
... 

回答

0

已解決。這些步驟是正確的。

問題出在正在使用的軟件包中,它是存儲在S3中的舊版本。 當測試運行時,新版本正在上傳。

1

我沒有看到你的LS輸出.py文件。應該有一個py文件來匹配「Lambda函數處理程序和角色」下指定的處理程序。

+0

感謝您指出。爲了簡潔而編輯輸出並忘記了它。 – XY6

相關問題