无法读取全局配置字符串
Cannot read global configuration string
我正在使用 Pulumi 的 typescript SDK 为我的项目设置 azure 基础设施。我一直试图在我的index.ts
中获取一些配置值,如下代码所示:
import * as pulumi from "@pulumi/pulumi";
const config = new pulumi.Config();
export const domain = config.require('azure:location')
不幸的是,此代码触发了以下错误:
error: Missing required configuration variable 'my-project:azure:location'
please set a value using the command `pulumi config set my-project:azure:location <value>`
作为附加说明,我以 azure:location
为例(我还需要其他配置),因此不幸的是,从其他地方获取位置的明显解决方法是不够的。
看起来 config.require
在配置键前加上了项目名称。虽然 Config
的构造函数允许传递替代前缀,但似乎没有选项可以在不添加前缀的情况下检索密钥。有解决方法吗?我错过了什么吗?这是一个错误吗?
普鲁米档案
如果您需要更多上下文,这里是我用来触发此问题的 pulumi 文件的最小版本:
Pulumi.yaml
:
name: my-project
runtime: nodejs
description: No description
Pulumi.dev.yaml
:
config:
azure:environment: public
azure:location: WestEurope
如果您使用 new pulumi.Config()
创建配置对象,那么 pulumi 将假定您需要项目的配置(所有以项目名称为前缀的内容)。如果你想要天蓝色的配置,那么我想你可以用一个额外的配置对象来做到这一点:
const projectConfig = new pulumi.Config();
const azureConfig = new pulumi.Config("azure");
const azureLocation = azureConfig.get("location");
我正在使用 Pulumi 的 typescript SDK 为我的项目设置 azure 基础设施。我一直试图在我的index.ts
中获取一些配置值,如下代码所示:
import * as pulumi from "@pulumi/pulumi";
const config = new pulumi.Config();
export const domain = config.require('azure:location')
不幸的是,此代码触发了以下错误:
error: Missing required configuration variable 'my-project:azure:location'
please set a value using the command `pulumi config set my-project:azure:location <value>`
作为附加说明,我以 azure:location
为例(我还需要其他配置),因此不幸的是,从其他地方获取位置的明显解决方法是不够的。
看起来 config.require
在配置键前加上了项目名称。虽然 Config
的构造函数允许传递替代前缀,但似乎没有选项可以在不添加前缀的情况下检索密钥。有解决方法吗?我错过了什么吗?这是一个错误吗?
普鲁米档案
如果您需要更多上下文,这里是我用来触发此问题的 pulumi 文件的最小版本:
Pulumi.yaml
:
name: my-project
runtime: nodejs
description: No description
Pulumi.dev.yaml
:
config:
azure:environment: public
azure:location: WestEurope
如果您使用 new pulumi.Config()
创建配置对象,那么 pulumi 将假定您需要项目的配置(所有以项目名称为前缀的内容)。如果你想要天蓝色的配置,那么我想你可以用一个额外的配置对象来做到这一点:
const projectConfig = new pulumi.Config();
const azureConfig = new pulumi.Config("azure");
const azureLocation = azureConfig.get("location");