簡體   English   中英

AWS Lambda 錯誤:無法導入模塊“function_name”:沒有名為“module._module”的模塊

[英]AWS Lambda Error: Unable to import module 'function_name': No module named 'module._module'

請在閱讀后特別查看屏幕截圖。

我正在 AWS Lambda 上部署 python 腳本,該腳本使用 package impyla ,它依賴於 ZEFE90A8E604A7F8B7D6 bitarray

from impala.dbapi import connect

我的 python 文件名為authorize_ingress.py ,其中有一個名為handle_authorize_ingress(event, context)的 function 已正確配置。 請參閱下面的屏幕截圖:

我的函數文件:

功能

lambda 中的處理程序指定:

處理程序

代碼本身的處理程序:

處理程序

我的 zip 文件的所有內容都在根目錄中(而不是嵌套在目錄中):

文件

package bitarrayimpyla自動安裝:

位數組

每一次,我都會收到這樣的回應:

回復

截至目前,我已嘗試:

  • package 是使用zip -r選項生成的。
  • 這些文件位於 zip 的根目錄中,而不是嵌套在目錄中。
  • function 在本地工作得非常好。
  • 我已經嘗試過virtualenv和簡單地在packages/路徑中安裝依賴項但沒有運氣

有什么想法我可能做錯了嗎? 我按照AWS 的 Lambda 部署指南生成了我的部署 package 。 任何幫助將不勝感激,謝謝!

這里是 go。 您可以通過此 gdrive 鏈接下載此 lambda 層。 該層與 Python 3.8 兼容,因此請確保您的 select 是正確的 lambda 運行時。

如果你想知道我是如何生成這個 lambda 層的,下面是我所做的基本列表:

  • 無服務器框架
  • serverless-python-requirements 插件
  • docker
  • 無服務器.yml
service: serverless-example

provider:
  name: aws
  runtime: python3.8
  region: us-east-1
  profile: dummy

functions:
  dummy:
    handler: dummy.handler

plugins:
  - serverless-python-requirements

custom:
  pythonRequirements:
    dockerizePip: non-linux
    layer: true
  • 要求.txt
impyla==0.16.2

然后簡單地做sls package -p pkg 名為pythonRequirements.zip的層將在一分鍾內准備好在.serverless目錄下。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM