ImportError: cannot import name 'core' from 'aws_cdk'
ImportError: cannot import name 'core' from 'aws_cdk'
我正在尝试使用 AWS CDK 制作一个非常基本的 Lambda 函数,这就是我目前所获得的
from constructs import Construct
from aws_cdk import (
Stack,
aws_lambda as _lambda,
aws_apigateway as apigw,
core,
)
class SportsTeamGeneratorStack(Stack):
def __init__(self, scope: Construct, id: str, **kwargs) -> None:
super().__init__(scope, id, **kwargs)
my_lambda = _lambda.Function(self, 'HelloHandler',
runtime=_lambda.Runtime.PYTHON_3_7,
code=_lambda.Code.from_asset("lambda",
bundling= core.BundlingOptions(
image=_lambda.Runtime.PYTHON_3_9.bundling_image,
command=[
"bash", "-c",
"pip install --no-cache -r requirements.txt -t /asset-output && cp -au . /asset-output"
],
),
),
handler='hello.handler',
)
apigw.LambdaRestApi(
self, 'Endpoint',
handler=my_lambda,
)
虽然我收到以下错误:ImportError:无法从 'aws_cdk' 导入名称 'core'。我以这种方式设置我的 lambda,因为我试图在实际代码中使用 python 包含外部包,并希望将这些文件压缩并提供给 s3。有什么想法吗?
core
不是 aws_cdk
中的模块。
您可以使用以下代码将核心包导入为 core
:
import aws_cdk as core
我正在尝试使用 AWS CDK 制作一个非常基本的 Lambda 函数,这就是我目前所获得的
from constructs import Construct
from aws_cdk import (
Stack,
aws_lambda as _lambda,
aws_apigateway as apigw,
core,
)
class SportsTeamGeneratorStack(Stack):
def __init__(self, scope: Construct, id: str, **kwargs) -> None:
super().__init__(scope, id, **kwargs)
my_lambda = _lambda.Function(self, 'HelloHandler',
runtime=_lambda.Runtime.PYTHON_3_7,
code=_lambda.Code.from_asset("lambda",
bundling= core.BundlingOptions(
image=_lambda.Runtime.PYTHON_3_9.bundling_image,
command=[
"bash", "-c",
"pip install --no-cache -r requirements.txt -t /asset-output && cp -au . /asset-output"
],
),
),
handler='hello.handler',
)
apigw.LambdaRestApi(
self, 'Endpoint',
handler=my_lambda,
)
虽然我收到以下错误:ImportError:无法从 'aws_cdk' 导入名称 'core'。我以这种方式设置我的 lambda,因为我试图在实际代码中使用 python 包含外部包,并希望将这些文件压缩并提供给 s3。有什么想法吗?
core
不是 aws_cdk
中的模块。
您可以使用以下代码将核心包导入为 core
:
import aws_cdk as core