ana*_*rei 1 python amazon-web-services aws-lambda aws-cdk
我有一个使用 JavaScript 构建的 AWS CDK 堆栈。堆栈有多个 lambda。其中大部分是用 JavaScript 编写的。我想在 python 中添加一个 lambda 。当我不导入外部依赖项时,python lambda 工作正常,但在安装它们时不理解。我尝试将软件包安装在一个package文件夹或一个python文件夹中,并按照这些文章的建议进行压缩,但没有成功:
https://docs.aws.amazon.com/lambda/latest/dg/python-package.html https://aws.amazon.com/premiumsupport/knowledge-center/lambda-import-module-error-python/
我收到的错误是"Unable to import module 'py1': No module named 'x'"
(x 指我尝试导入的任何包名称)
我的javascript CDK库代码是这样的:
// javascript lambda
new lambda.Function(this, 'lambda-js1', {
functionName: `js1`,
code: lambda.Code.fromAsset('assets/lambdajs'),
handler: 'js1.handler',
runtime: lambda.Runtime.NODEJS_14_X,
})
// python lambda
new lambda.Function(this, 'lambda-py1', {
functionName: `py1`,
code: lambda.Code.fromAsset('assets/lambdapy'),
handler: 'py1.handler',
runtime: lambda.Runtime.PYTHON_3_8,
})
Run Code Online (Sandbox Code Playgroud)
assets/lambdapy我在使用中安装了依赖项
pip install x
pip install --target ./package x
pip install -t python/ x
Run Code Online (Sandbox Code Playgroud)
之后我把它们拉上拉链
我的Python代码在assets/lambdapy/py1.py
pip install x
pip install --target ./package x
pip install -t python/ x
Run Code Online (Sandbox Code Playgroud)
调用 python lambda 后,我得到
{
"errorMessage": "Unable to import module 'py1': No module named 'x'",
"errorType": "Runtime.ImportModuleError",
"stackTrace": []
}
Run Code Online (Sandbox Code Playgroud)
使用aws-cdk.aws-lambda-pythonL2 构造,它会自动安装依赖项。
这是文档:
https://docs.aws.amazon.com/cdk/api/latest/docs/aws-lambda-python-readme.html
上面文档中的打字稿示例:
import * as lambda from "@aws-cdk/aws-lambda";
import { PythonFunction } from "@aws-cdk/aws-lambda-python";
new PythonFunction(this, 'MyFunction', {
entry: '/path/to/my/function', // required
index: 'my_index.py', // optional, defaults to 'index.py'
handler: 'my_exported_func', // optional, defaults to 'handler'
runtime: lambda.Runtime.PYTHON_3_6, // optional, defaults to lambda.Runtime.PYTHON_3_7
});
Run Code Online (Sandbox Code Playgroud)
它将安装来自诗歌文件、pipfile 或 requiremenets.txt 的依赖项
| 归档时间: |
|
| 查看次数: |
5031 次 |
| 最近记录: |