首页 > 解决方案 > 如何测试 CDK 上下文键是否存在?

问题描述

我有一个在 cdk.context.json 中存储一些键值的用例,但是如果 cdk.context.json 不存在或者它不包含我希望 CDK 回退到其他代码来发现的键价值。

例如,假设键是“可用区”。我想将值存储在 cdk.context.json 中,如下所示:

{
  "availability-zones:account=123456789012:region=us-west-2": [
    "us-west-2a",
    "us-west-2b",
    "us-west-2c",
    "us-west-2d"
  ]
}

但如果它没有存储在那里,我希望我的 CDK 使用第三方库来查找值。我可以做到这一点的一种方法是测试上下文是否具有可用性区域键,并在指定时检索值。我怎样才能用 CDK 做到这一点?

标签: aws-cdk

解决方案


实际上有一个环境变量,应该能够从中派生出这些信息。例如,使用 Node.js 时:

const context = JSON.parse(process.env.CDK_CONTEXT_JSON)

if(context.['availability-zones:account=123456789012:region=us-west-2']) {
   // do something
}

希望有帮助!


推荐阅读