如何从S3使用CloudFormation模板

时间:2019-09-27 13:09:37

标签: aws-cdk

文档Use an Existing AWS CloudFormation Template中有一节。它使用来自文件系统(fs.readFileSync)的同步功能。我正在使用S3 EKS Public and private subnets中的CloudFormation模板。据我了解,AWS CDK是同步的,并且我无法使用请求库来获取现有模板。 可以选择将yaml文件下载到本地文件系统。

如果可能的话,我想直接从S3使用模板。

1 个答案:

答案 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()
  });
}