使用自定义数据源

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

添加数据源类型

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

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

添加 Data Source Type 后,将显示一个用于为 ““Data Source Type** 添加 Collection Schemas 的屏幕。
  1. 单击 Add。
  2. 为集合架构指定 Collection Name。
  3. 输入 Description。
  4. 根据需要,在 Attribute Details 下添加属性(名称及其类型)。
  5. 单击 Create。
集合类型
在此示例中,App-virtual-servers 集合架构有四个属性。因此,您要存储的集合必须具有这些已设置数据类型的属性。

添加数据源

为特定数据源类型定义数据源。
  1. 转到 应用程序 > 配置 > 数据源。
  2. 选择 Data Sources 选项卡,然后单击 Add。
  3. 指定 Name。
  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 用户选择虚拟服务器后,可以按照上一节中说明的相同方式访问所选项目的任何属性。