Lambda Import Module Error Python

0

I am experiencing an issue with my AWS Lambda function where I'm unable to import the firebase_admin module from a Lambda layer, despite the layer being correctly attached and the module being visibly present in the /opt directory.

  • I have created a Lambda layer that includes the firebase_admin module among others.
  • The layer is attached to my Lambda function.
  • I verified the contents of /opt directory using os.listdir('/opt') in the Lambda function, and it lists firebase_admin and its associated files.
  • Despite this, the Lambda function fails to import the firebase_admin module with an ImportModuleError.

Steps Taken:

  1. Created a Lambda layer with the necessary Python packages, including firebase_admin.
  2. Set correct file permissions (644 for files, 755 for directories) before zipping the layer.
  3. Uploaded the layer to AWS Lambda and attached it to the function.
  4. Verified the presence of the firebase_admin package in the /opt directory through Lambda function logs.
  5. Tried explicitly adding /opt/python to sys.path at the beginning of the Lambda function.

Error Encountered: [ERROR] Runtime.ImportModuleError: Unable to import module 'app': No module named 'firebase_admin'

Are there any additional steps or configurations I might be missing? I also tried resolution mentioned in https://repost.aws/knowledge-center/lambda-import-module-error-python. But I still get the same error.

Enter image description here

MS
已提問 5 個月前檢視次數 360 次
1 個回答
1

As can be seen in the documentation here, the content in the layer should not be in the root, but rather, in a subfolder, based on the runtime. In the case of Python, the libraries should be either under python, or python/lib/python3.x/site-packages.

profile pictureAWS
專家
Uri
已回答 5 個月前
profile picture
專家
已審閱 1 個月前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南