无法读取全局配置字符串

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");