我已經閱讀了這個網站上關于這個問題的幾十篇文章、博客文章、檔案和問答文章,但我還沒有找到解決方案。
我的 Python 代碼index.py很簡單:
def handler(event, context):
print("hello world. this is hello handler")
if __name__ == "__main__":
print("hello world. this is the main section in hello index.py")
請注意,我使用的是默認檔案名index.py和默認入口點handler。
我有一個簡單的 pyproject.toml:
[tool.poetry]
name = "hello"
version = "0.1.0"
description = ""
authors = []
[tool.poetry.dependencies]
python = "~3.9"
[tool.poetry.dev-dependencies]
[build-system]
requires = ["poetry-core>=1.1.0"]
build-backend = "poetry.core.masonry.api"
作為基本的健全性檢查,我可以通過以下方式在本地運行主要部分:
poetry run python index.py
我通過 typescript CDK 部署:
const stack = new Stack(app, "PythonHelloStack", {env})
new PythonFunction(stack, `HelloFunction`, {
runtime: Runtime.PYTHON_3_9,
entry: path.join(__dirname, `../../../lambdas/hello`),
})
這成功創建了 Lambda。當我對此運行測驗事件時,我收到錯誤:
"errorMessage": "Unable to import module 'index': No module named 'index'",
"errorType": "Runtime.ImportModuleError",
要顯示控制臺的螢屏截圖,其中顯示了代碼:

如果我單擊 ,代碼顯示正常index.py。為什么 AWS Lambda 不能匯入index.py?我被困在如何繼續解決這個問題。
uj5u.com熱心網友回復:
這是 CDK中的一個錯誤,仍有待在下一個版本中修補。1.136如果使用 CDK v1,則降級為,如果使用 CDK v2,則降級為的2.3.0-alpha.0版本@aws-cdk/aws-lambda-python-alpha。
更新:在1.139 CDK發布修復該問題。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/408887.html
標籤:
