You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Java CDK为Serverless Aurora V2启用Data API

创建启用Data API的Serverless Aurora V2集群(Java CDK)

由于AWS CDK的DatabaseCluster(用于构建Serverless V2集群)没有直接提供启用Data API的配置方法,而ServerlessCluster仅针对Serverless V1,你可以通过操作底层CloudFormation资源的方式来实现需求,具体步骤如下:

1. 构建Serverless V2集群

先按常规方式创建Serverless V2 Aurora集群,配置好serverlessV2MinCapacity、serverlessV2MaxCapacity等核心参数:

DatabaseCluster cluster = DatabaseCluster.Builder.create(this, "ServerlessV2Cluster")
        .engine(DatabaseClusterEngine.auroraMysql(AuroraMysqlClusterEngineProps.builder()
                .version(AuroraMysqlEngineVersion.VER_3_03_0)
                .build()))
        .credentials(Credentials.fromGeneratedSecret("dbAdmin"))
        .instanceProps(InstanceProps.builder()
                .instanceType(InstanceType.of(InstanceClass.BURSTABLE3, InstanceSize.SMALL))
                .vpc(yourVpc) // 替换为你的VPC实例
                .build())
        .serverlessV2MinCapacity(0.5)
        .serverlessV2MaxCapacity(10)
        .build();

2. 启用Data API

通过获取集群的底层CfnDBCluster资源,添加EnableDataApi属性并设置为true:

// 提取底层CloudFormation集群资源
CfnDBCluster cfnCluster = (CfnDBCluster) cluster.getNode().getDefaultChild();
// 启用Data API
cfnCluster.addPropertyOverride("EnableDataApi", true);

3. 配置IAM权限

Data API的调用方(如Lambda函数、ECS任务等)需要具备对应的IAM权限才能访问,示例如下(以Lambda角色为例):

Role dataApiAccessRole = Role.Builder.create(this, "DataApiAccessRole")
        .assumedBy(new ServicePrincipal("lambda.amazonaws.com"))
        .build();

// 添加Data API操作权限
dataApiAccessRole.addToPolicy(new PolicyStatement(PolicyStatementProps.builder()
        .actions(List.of(
                "rds-data:ExecuteStatement",
                "rds-data:BatchExecuteStatement",
                "rds-data:BeginTransaction",
                "rds-data:CommitTransaction",
                "rds-data:RollbackTransaction"
        ))
        .resources(List.of(cluster.getClusterArn()))
        .build()));

注意事项

  • 确保使用的AWS CDK版本不低于v2.50.0(该版本开始支持通过addPropertyOverride配置EnableDataApi)
  • Data API仅支持Aurora MySQL 5.6+、Aurora PostgreSQL 10.7+版本的Serverless集群(V1/V2均兼容)
  • 启用Data API后,无需配置数据库实例的公网访问或VPC私有网络连接,直接通过AWS API即可操作数据库

内容的提问来源于stack exchange,提问作者Nicklas Karlsson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 14:47:21