使用自定义数据源

除了 将 NetScaler 实例作为数据源之外,如果输入数据重复用于创建多个配置,您可以定义和使用自定义数据源。 您可以将 NetScaler 控制台中的输入数据保存为数据源。 并且,您可以修改样书来使用这些数据,而无需样书用户重复提供输入。

在样本定义中使用自定义数据源之前,请执行以下操作来定义自定义数据源:

  1. 添加数据源类型

  2. 在数据源类型下添加收集模式。

  3. 添加数据源

  4. 添加集合数据

添加数据源后,您可以在样书定义中使用该数据源。 有关更多信息,请参阅 在 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. 单击 确定

收藏

使用自定义数据源而不进行收集

以下 参数 部分说明如何在没有集合的 StyleBook 定义中定义自定义数据源。

参数:
    -  名称:selected-environment
      标签:选择自定义数据源环境
      类型:datum
      必需:true
      数据源:
        类型:“环境”
<!--NeedCopy-->

配置包 GUI 显示适用的数据源,StyleBook 用户可以选择其中任何一个来创建配置包。

自定义数据源(无集合)

在这个例子中,它使用 Production 数据源来检索数据。

环境 数据源类型中,要访问 App-virtual-servers 集合类型,请使用以下表达式:

$parameters.selected-environment.collections.App-virtual-servers
<!--NeedCopy-->

示例片段

组件:
  -
    名称:lbvserver-comp
    类型:ns::lbvserver
    重复: $parameters.selected-environment.collections.App-virtual-servers
    重复项:app
    属性:
      名称: $app.attributes.Name + "-lb"
      ipv46:ip($app.attributes.IPv46 )
      端口: $app.attributes.Port
      服务类型: $app.attributes.Protocol
    组件:

      -
        名称:servicegroup-comp
        类型:ns::servicegroup
        属性:
          服务组名称: $parent.properties.name + "-svcgrp"
          服务类型: $parent.properties.servicetype

        组件:
          -
            名称:lbvserver-svg-binding
            类型:ns::lbvserver_servicegroup_binding
            属性:
              名称: $parent.parent.properties.name
              服务组名称: $parent.properties.服务组名称
<!--NeedCopy-->

使用自定义数据源和集合

以下 参数 部分说明如何在 StyleBook 定义中定义自定义数据源。 它允许 StyleBook 用户选择集合中的特定项目。

参数:
  -  名称:selected-app-vserver
    标签:从数据源中选择一个集合
    类型:数据
    必需:true
    数据源:
      类型:环境
      集合:App-virtual-servers
<!--NeedCopy-->

在这个例子中, 数据 参数用于定义自定义数据源。 它使用 Production 数据源从 App-virtual-servers 集合模式中检索数据。

Environment 数据源类型中,要从 App-virtual-servers 集合访问协议,请使用以下表达式:

$parameters.selected-app-vserver.attributes.Protocol
<!--NeedCopy-->

示例片段

组件:
  -  名称:lbvserver-comp
    类型:ns::lbvserver
    属性:
      名称: $parameters.selected-app-vserver.attributes.Name
      ipv46: $parameters.selected-app-vserver.attributes.IPv46
      端口: $parameters.selected-app-vserver.attributes.Port
      服务类型: $parameters.selected-app-vserver.attributes.Protocol
<!--NeedCopy-->

当您在 参数 部分定义集合类型时,StyleBook 用户可以选择数据源和集合。

从集合中选择多个项目:

以下参数部分允许 StyleBook 用户选择一个集合中的多个项目。

参数:
  -  名称:selected-app-vservers
    标签:从集合中选择 app-vservers
    类型:datum[]
    必需:true
    数据源:
      类型:环境
      集合:App-virtual-servers
 <!--NeedCopy-->

在此示例中,datum 参数用于定义自定义数据源数组。 用户可以从单个数据源或跨数据源的“App-virtual-servers”集合中选择一个或多个项目。

下面的代码片段描述了访问选定项目及其属性的方式。

组件:
  -
   名称:lbvserver-comp
   类型:ns::lbvserver
   重复:
   重复列表: $parameters.selected-app-vservers
   重复项:vserverObj
    属性:
      名称: $vserverObj.attributes.Name
      ipv46: $vserverObj.attributes.IPv46
      端口: $vserverObj.attributes.Port
      服务类型: $vserverObj.attributes.Protocol
<!--NeedCopy-->

过滤收集数据:

以下参数部分说明如何在样书定义中指定自定义数据源集合的过滤器。 它允许 StyleBook 用户从过滤的集合中选择特定的项目。

参数:
  -  名称:selected-app-vserver
    标签:从数据源中选择一个集合
    类型:数据
    必需:true
    数据源:
      类型:环境
      集合:App-virtual-servers
      集合过滤器:
        协议:SSL
<!--NeedCopy-->

在此示例中,datum 参数用于定义自定义数据源。 它使用环境类型的数据源从 App-virtual-servers 集合模式中检索过滤的数据。

样书用户选择虚拟服务器后,可以按照上一节所述方式访问所选项目的任何属性。