使用自定义数据源

Last published : Oct 06, 2026
除了 托管的 NetScaler 实例作为数据源 之外,如果输入数据重复用于创建多个配置,您可以定义和使用自定义数据源。您可以将输入数据作为数据源保存在 NetScaler Console 中。而且,您可以修改 StyleBook 以使用此数据,而无需 StyleBook 用户重复提供输入。
在 StyleBook 定义中使用自定义数据源之前,请执行以下操作来定义自定义数据源:
添加数据源后,您可以在 StyleBook 定义中使用此数据源。有关详细信息,请参阅 在 StyleBook 定义中使用自定义数据源。

添加数据源类型

指定数据源类型以区分检索数据的来源。
  1. 在 应用程序 > 配置 > 数据源 中。
  2. 选择 数据源类型,然后单击 添加。
  3. 指定数据源类型的 名称 和 描述。
  4. 单击 继续 以保存 数据源类型。单击 关闭 以退出工作流而不保存任何更改。
数据源类型
在此示例中,数据源类型设置为 Environment。此类型可用于将应用程序环境定义为数据源。

在数据源类型下添加集合架构

添加 数据源类型 后,将显示一个屏幕,用于为 ""数据源类型** 添加 集合架构。
  1. 单击 添加。
  2. 指定集合架构的 集合名称。
  3. 输入 描述。
  4. 根据需要在 属性详细信息 下添加属性(名称及其类型)。
  5. 单击 创建。
集合类型
在此示例中,App-virtual-servers 集合架构有四个属性。因此,您要存储的集合必须具有这些设置数据类型的属性。

添加数据源

为特定数据源类型定义数据源。
  1. 转到 应用程序 > 配置 > 数据源。
  2. 选择 数据源 选项卡,然后单击 添加。
  3. 指定 名称。
  4. 选择数据源类型,然后输入描述。
  5. 单击继续以保存数据源。单击关闭以退出工作流而不保存任何更改。
自定义数据源
在此示例中,生产环境被添加为数据源。

添加集合数据

添加数据源后,将显示一个用于输入数据源数据的屏幕。您可以看到集合架构的列表。
  1. 选择要添加集合数据的集合架构。
  2. 单击管理集合数据。
  3. 将数据添加到集合。您可以逐个添加数据,也可以上传 CSV 文件。上传 CSV 文件时,请确保列名与集合架构的属性名匹配。
  4. 单击确定。
集合

使用不带集合的自定义数据源

以下parameters部分介绍了如何在 StyleBook 定义中定义不带集合的自定义数据源。
parameters:
    - name: selected-environment
      label: Select a custom datasource environment
      type: datum
      required: true
      data-source:
        type: "Environment"
配置包 GUI 显示适用的数据源,StyleBook 用户可以选择其中任何一个来创建配置包。
不带集合的自定义数据源
在此示例中,它使用 Production 数据源检索数据。
在 Environment 数据源类型中,要访问 App-virtual-servers 集合类型,请使用以下表达式:
$parameters.selected-environment.collections.App-virtual-servers
示例代码片段:
components:
  -
    name: lbvserver-comp
    type: ns::lbvserver
    repeat: $parameters.selected-environment.collections.App-virtual-servers
    repeat-item: app
    properties:
      name: $app.attributes.Name + "-lb"
      ipv46: ip($app.attributes.IPv46 )
      port: $app.attributes.Port
      servicetype: $app.attributes.Protocol
    components:

      -
        name: servicegroup-comp
        type: ns::servicegroup
        properties:
          servicegroupname: $parent.properties.name + "-svcgrp"
          servicetype: $parent.properties.servicetype

        components:
          -
            name: lbvserver-svg-binding
            type: ns::lbvserver_servicegroup_binding
            properties:
              name: $parent.parent.properties.name
              servicegroupname: $parent.properties.servicegroupname

将自定义数据源与集合一起使用

以下 parameters 部分介绍了如何在 StyleBook 定义中定义自定义数据源。它允许 StyleBook 用户选择集合中的特定项。
parameters:
  - name: selected-app-vserver
    label: Select a collection from the datasource
    type: datum
    required: true
    data-source:
      type: Environment
      collection: App-virtual-servers
在此示例中,datum 参数用于定义自定义数据源。它使用 Production 数据源从 App-virtual-servers 集合架构中检索数据。
在 Environment 数据源类型中,要从 App-virtual-servers 集合访问协议,请使用以下表达式:
$parameters.selected-app-vserver.attributes.Protocol
示例代码片段:
components:
  - name: lbvserver-comp
    type: ns::lbvserver
    properties:
      name: $parameters.selected-app-vserver.attributes.Name
      ipv46: $parameters.selected-app-vserver.attributes.IPv46
      port: $parameters.selected-app-vserver.attributes.Port
      servicetype: $parameters.selected-app-vserver.attributes.Protocol
当您在 parameters 部分中定义集合类型时,StyleBook 用户可以选择数据源和集合。
从集合中选择多个项:
以下参数部分允许 StyleBook 用户选择集合中的多个项。
parameters:
  - name: selected-app-vservers
    label: Select app-vservers from the collection
    type: datum[]
    required: true
    data-source:
      type: Environment
      collection: App-virtual-servers
在此示例中,datum 参数用于定义自定义数据源数组。用户可以从单个数据源或跨数据源的“App-virtual-servers”集合中选择一个或多个项。
下面的代码片段描述了访问所选项目及其属性的方法。
components:
  -
   name: lbvserver-comp
   type: ns::lbvserver
   repeat:
   repeat-list: $parameters.selected-app-vservers
   repeat-item: vserverObj
    properties:
      name: $vserverObj.attributes.Name
      ipv46: $vserverObj.attributes.IPv46
      port: $vserverObj.attributes.Port
      servicetype: $vserverObj.attributes.Protocol
筛选集合数据:
以下参数部分介绍了如何在 StyleBook 定义中为自定义数据源集合指定筛选器。它允许 StyleBook 用户从筛选后的集合中选择特定项。
parameters:
  - name: selected-app-vserver
    label: Select a collection from the datasource
    type: datum
    required: true
    data-source:
      type: Environment
      collection: App-virtual-servers
      collection-filters:
        Protocol: SSL
在此示例中,使用 datum 参数来定义自定义数据源。它使用类型为 Environment 的数据源从 App-virtual-servers 集合架构中检索筛选数据。
StyleBook 用户选择虚拟服务器后,可以按照上一节中说明的相同方式访问所选项目的任何属性。