Insights-Widget "When" 条件值选项

Insights-Widget "When" Condition Value Options

我正在尝试向自定义见解小部件添加“何时”条件,以便该小部件仅在特定数据库的仪表板上可见。

问题是这方面的文档没有涵盖可能的条件和可用值: https://docs.microsoft.com/en-us/sql/azure-data-studio/tutorial-build-custom-insight-sql-server?view=sql-server-ver15

到目前为止,我为这个小部件编写的 JSON 代码的顶部是:

 {
            "name": "Import Queue",
            "when": "database=MyDB1",
            "gridItemConfig": {
                "sizex": 2,
                "sizey": 2
            },

但是条件 "database=MyDB1""database==MyDB1" 不工作。我怀疑那是因为我错误地设置了这个条件的值,但是找不到如何使用这个条件的例子。

任何人都可以建议我需要为“何时”条件放置什么以仅显示特定数据库 MyDB1 吗?

2021 年 10 月更新 从那以后,我在 Azure Data Studio GitHub wiki (https://github.com/microsoft/azuredatastudio/wiki/Contribution-points) 上发现该格式要求参数用单引号引起来。本 wiki 中包含的示例如下:

"when": "connectionProvider == 'MSSQL' && !mssql:iscloud"

将此应用于我的问题,我将其更改为:

"when": "database == 'MyDB1'"

但这仍然没有用。我怀疑 database 不是正确的参数名称,因此将继续搜索。微软官方文档还没有更新。

进一步更新 现在终于有了一个解决方案,我已将其放在下面的答案中 ()。

在 Azure Data Studio GitHub 存储库上进行了大量挖掘之后,我终于找到了这个 wiki:https://github.com/microsoft/azuredatastudio/wiki/Context-Variables

这表示上下文变量:

databaseName - A string of the database name of the current connection. Ex. databaseName == 'master'

所以一直以来都是databaseName,加上参数值需要用单引号引起来

也就是说,通过将配置文件 JSON 更改为以下内容:

 {
     "name": "Import Queue",
     "when": "databaseName == 'MyDB1'",
     "gridItemConfig": {
     "sizex": 2,
     "sizey": 2
 },

它最终隐藏了除指定数据库之外的所有数据库的仪表板。