如何从文件加载 aws cdk --parameters?

How to load aws cdk --parameters from a file?

我的 CDK 堆栈包含太多参数(子网 ID、api 网址),无法在命令行中指定。所以我想将它们保存在单独的文件中,例如 dev.properties 或 prod.json。来自 cdk.json 的上下文值可能是方法,但我不知道如何保留多个并行版本。有没有办法从文件中应用参数,例如cdk deploy --parameters file:///dev.json?

您可以为此使用 cdk.json 文件。例如,我的 cdk.json 看起来像

{
  "app": "python3 app.py",
  "profile": "my-aws-profile",
  "context": {
    "@aws-cdk/core:enableStackNameDuplicates": "true",
    "aws-cdk:enableDiffNoFail": "true",
    "ENVIRONMENTS": {
      "prod": {
        "bucket_name": "my-prod-bucket-name",
      }
    }
}

然后在我的堆栈代码中

from aws_cdk import (core, aws_s3)


class MyStack(core.Stack):
    def __init__(self, scope: core.Construct, id: str, env) -> None:
        super().__init__(scope, id, env=env)

        environments = self.node.try_get_context("ENVIRONMENTS")
        environment = environments.get("prod")
        bucket_name = environment.get("bucket_name")

        my_bucket = aws_s3.Bucket(
            self,
            bucket_name,
            bucket_name=bucket_name
        )