如何从 aws_rds 导入“ClusterInstance”(模块“aws_cdk.aws_rds”没有属性“ClusterInstance”)

问题描述 投票:0回答:1

尝试从(https://docs.aws.amazon.com/cdk/api/v2/python/aws_cdk.aws_rds/ClusterInstance.html)运行文档,它说

ClusterInstance
aws_rds的一部分
。当
cdk synth
到达该行时,它表示无法找到该模块。令人困惑的部分是
aws_rds
的其他部分可以正常导入。另外
dir(aws_rds)
显示了大部分模块,但不是这个。

我正在尝试跑步:

from aws_cdk import (
    Stack,
    aws_rds as rds,
    aws_ec2 as ec2,
)
from constructs import Construct

from cdk_utils.get_param import get_param

class AuroraDbStack(Stack):

    def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None:
        super().__init__(scope, construct_id, **kwargs)

        vpc = ec2.Vpc(
            self,
            "Aurora TEMP VPC",
            max_azs=2,
            subnet_configuration=[
                ec2.SubnetConfiguration(
                    subnet_type=ec2.SubnetType.PRIVATE_ISOLATED,
                    name="Aurora TEMP Private Subnet",
                ),
            ],
        )

        cluster = rds.DatabaseCluster(self, "Database",
            engine=rds.DatabaseClusterEngine.aurora_mysql(
                version=rds.AuroraMysqlEngineVersion.VER_3_01_0
            ),
            ## HERE: When trying to access `rds.ClusterInstance`
            writer=rds.ClusterInstance.provisioned("writer",
                publicly_accessible=False
            ),
            readers=[
                rds.ClusterInstance.serverless_v2("reader2")
            ],
            vpc_subnets=ec2.SubnetSelection(
                subnet_type=ec2.SubnetType.PRIVATE_ISOLATED
            ),
            vpc=vpc
        )

准确的回溯:

Synthesizing test-aurora-db
Traceback (most recent call last):
  File "/cdk/AuroraDB/app.py", line 23, in <module>
    AuroraDbStack(
  File "/usr/local/lib/python3.9/site-packages/jsii/_runtime.py", line 118, in __call__
    inst = super(JSIIMeta, cast(JSIIMeta, cls)).__call__(*args, **kwargs)
  File "/cdk/AuroraDB/aurora_db/aurora_db_stack.py", line 34, in __init__
    writer=rds.ClusterInstance.provisioned("writer",
AttributeError: module 'aws_cdk.aws_rds' has no attribute 'ClusterInstance'

版本:

cdk --version
:2.106.0(版本 0d1a333)(昨天是 2.105.0,这是文档所在的位置)。

python3 --version
:Python 3.9.16

npm --version
:10.1.0

node --version
:v20.7.0

我期望 ClusterInstance 是 aws_rds 的一个模块。也许它已重命名,并且文档需要更新?令人困惑的部分是很多其他模块都工作正常,所以我不认为它与 python 路径相关......

python amazon-web-services amazon-rds aws-cdk modulenotfounderror
1个回答
0
投票

我想我终于找到了答案,python包

aws-cdk-lib
已经过时了。碰撞它
2.81.0
->
2.99.1
让我可以再次合成。

© www.soinside.com 2019 - 2024. All rights reserved.