文档Use an Existing AWS CloudFormation Template中有一节。它使用来自文件系统(fs.readFileSync
)的同步功能。我正在使用S3 EKS Public and private subnets中的CloudFormation模板。据我了解,AWS CDK是同步的,并且我无法使用请求库来获取现有模板。
可以选择将yaml文件下载到本地文件系统。
如果可能的话,我想直接从S3使用模板。
答案 0 :(得分:1)
当然,只需使用aws-sdk从其所在的存储桶中获取s3内容。
async getCfnIncludeFromS3(): Promise<cdk.CfnInclude> {
const s3 = new aws.S3();
const template = await s3.getObject({Bucket: "MyBucket", Key: "My/Key/To/Template.json"}).promise();
return new cdk.CfnInclude(this, "ExistingInfrastructure", {
template: JSON.parse(template.Body).toString()
});
}