变量库定义

本文详细介绍了变量库项的定义结构。

定义部件

下表列出了变量库定义部件。

定义部件路径 类型 必选 说明
variables.json 变量(JSON) 描述项中的变量
settings.json VariableLibrarySettings (JSON) 定义用户控制设置
.platform PlatformDetails (JSON) 描述项的常见详细信息
valueSets\valueSetName.json ValueSet (JSON) 定义呈现项目时要使用的默认模板

变量

描述变量库项中的变量。

名字 类型 说明
变量 Variable[] 变量集合。

变量

描述变量。

名字 类型 必选 说明
姓名 字符串 变量的名称。
类型 字符串 变量类型。
价值 JSON(JavaScript 对象表示法) 变量的默认值。
注意 字符串 描述变量的注释。

支持的变量类型

支持的变量类型列表。

名字 类型 示例
布尔值 BooleanVariable 真、假
DateTime DateTimeVariable “2025-01-20T15:30:00Z”
数字 NumberVariable 1.1
整数 IntegerVariable 1
字符串 StringVariable “Some string”
ItemReference ItemReferenceVariable
{
  “workspaceId”: “aaaaaaaaaa-0000-1111-2222-bbbbbbbbbb”,
  “itemId”: “bbbbbb-1111-2222-3333-cccccccc”
}

Variables.json 示例

{
  "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/variableLibrary/definition/variables/1.0.0/schema.json",
  "variables": [
    {
      "name": "variable1",
      "note": "Some optional note",
      "type": "String",
      "value": "Some string value"
    },
    {
      "name": "variableWithoutNote",
      "type": "boolean",
      "value": true
    }
  ]
}

ValueSet

描述值集。 文件名必须与值集名称类似。

名字 类型 说明
姓名 字符串 值集的名称。
描述 字符串 值集的说明。
variableOverrides VariableOverride 重写变量的列表。

VariableOverride

描述值替代。

名字 类型 说明
姓名 字符串 重写的变量的名称。
价值 字符串 新的变量值。

valueSets/valueSet.json 示例

{
  "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/variableLibrary/definition/valueSet/1.0.0/schema.json",
  "name": "valueSetName",
  "variableOverrides": [
    {
      "name": "variable1",
      "value": "Some new value"
    }
  ]
}

VariableLibrarySettings

描述用户定义的变量库设置。

名字 类型 说明
valueSetsOrder 字符串数组[] 用于排序的值集名称的可选列表。

settings.json 示例

{
  "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/variableLibrary/definition/settings/1.0.0/schema.json",
  "valueSetsOrder": [
    "valueSet1",
    "valueSet0",
    "someOtherValueSet"
  ]
}

注意事项和限制

  • ValueSetsOrder 列表可以为空或部分。
  • ValueSetsOrder 列表不能包含无效的值集名称。
  • 使用部分或空值SetsOrder 列表更新变量库项时,缺失的值集名称按字母顺序添加到列表的末尾。

定义示例

{
"parts": [
    {
        "path": "variables.json",
        "payload": "<base64 encoded string>",
        "payloadType": "InlineBase64"
    },
    {
        "path": "valueSet/valueSet1.json",
        "payload": "<base64 encoded string>",
        "payloadType": "InlineBase64"
    },
    {
        "path": "valueSet/valueSet2.json",
        "payload": "<base64 encoded string>",
        "payloadType": "InlineBase64"
    },
    {
        "path": "settings.json",
        "payload": "<base64 encoded string>",
        "payloadType": "InlineBase64"
    },
    {
        "path": ".platform",
        "payload": "ZG90UGxhdGZvcm1CYXNlNjRTdHJpbmc=",
        "payloadType": "InlineBase64"
    }
]
}