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

如何通过Pulumi将VPC子网添加至VpcConnector?代码报错求助

解决Pulumi中VPC子网添加至App Runner VpcConnector的类型错误

问题出在你没有正确调用getSubnetsIds方法——你把方法本身传给了pulumi.output,而不是调用方法后得到的子网ID数组。getSubnetsIds是一个返回Promise<Output<string>[]>的函数,直接包裹它会导致类型不匹配,因为VpcConnector的subnets参数需要的是字符串数组或对应的Output类型。

修正后的代码示例

方式1:指定子网类型(推荐,比如私有子网)

const vpcConnector = new awsc.apprunner.VpcConnector("vpc-connector", {
  securityGroups: [ec2SecurityGroup.id],
  // 调用getSubnetsIds并指定子网类型,用pulumi.output处理异步结果
  subnets: pulumi.output(vpc.getSubnetsIds({ type: "PRIVATE_WITH_EGRESS" })),
  vpcConnectorName: "my-vpc-connector",
});

方式2:获取所有子网(不指定类型)

const vpcConnector = new awsc.apprunner.VpcConnector("vpc-connector", {
  securityGroups: [ec2SecurityGroup.id],
  // 直接调用getSubnetsIds获取所有子网ID
  subnets: pulumi.output(vpc.getSubnetsIds()),
  vpcConnectorName: "my-vpc-connector",
});

关键说明

  • getSubnetsIds()会异步返回对应VPC下的子网ID数组,用pulumi.output包裹后,能让Pulumi正确追踪资源依赖,确保在子网ID就绪后再创建VpcConnector。
  • 子网类型参数可选,常见值包括PRIVATE_ISOLATED、PRIVATE_WITH_EGRESS、PUBLIC,可根据你的业务需求选择。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 15:45:41